Add brew deps --skip-installed arg

This commit is contained in:
Robin Ury 2023-05-16 18:45:37 -05:00
parent 111f504925
commit 6aa9a0e57b
No known key found for this signature in database
GPG Key ID: E350E5E778752581
3 changed files with 7 additions and 1 deletions

View File

@ -49,6 +49,8 @@ module Homebrew
switch "--installed",
description: "List dependencies for formulae that are currently installed. If <formula> is " \
"specified, list only its dependencies that are currently installed."
switch "--skip-installed",
description: "Skip dependencies for formulae that are currently installed."
switch "--eval-all",
description: "Evaluate all available formulae and casks, whether installed or not, to list " \
"their dependencies."
@ -64,6 +66,7 @@ module Homebrew
description: "Treat all named arguments as casks."
conflicts "--tree", "--graph"
conflicts "--installed", "--skip-installed"
conflicts "--installed", "--eval-all"
conflicts "--installed", "--all"
conflicts "--formula", "--cask"

View File

@ -30,6 +30,7 @@ module DependenciesHelpers
end
ignores << "recommended?" if args.skip_recommended?
ignores << "satisfied?" if args.skip_installed?
[includes, ignores]
end
@ -44,6 +45,8 @@ module DependenciesHelpers
klass.prune if ignores.include?("recommended?") || dependent.build.without?(dep)
elsif dep.optional?
klass.prune if includes.exclude?("optional?") && !dependent.build.with?(dep)
elsif dep.satisfied?
klass.prune if ignores.include?("satisfied?")
elsif dep.build? || dep.test?
keep = false
keep ||= dep.test? && includes.include?("test?") && dependent == root_dependent

View File

@ -48,7 +48,7 @@ class Dependency
to_formula.latest_version_installed?
end
def satisfied?(inherited_options)
def satisfied?(inherited_options = [])
installed? && missing_options(inherited_options).empty?
end