Pass args correctly in brew deps and brew uses.

This commit is contained in:
Markus Reiter 2020-07-31 19:09:53 +02:00
parent 9c65a73893
commit 096377abf2
3 changed files with 28 additions and 26 deletions

View File

@ -83,13 +83,13 @@ module Homebrew
raise FormulaUnspecifiedError raise FormulaUnspecifiedError
end end
puts_deps_tree dependents, recursive puts_deps_tree dependents, recursive, args: args
return return
elsif args.all? elsif args.all?
puts_deps sorted_dependents(Formula.to_a + Cask::Cask.to_a), recursive puts_deps sorted_dependents(Formula.to_a + Cask::Cask.to_a), recursive, args: args
return return
elsif !args.no_named? && args.for_each? elsif !args.no_named? && args.for_each?
puts_deps sorted_dependents(args.formulae_and_casks), recursive puts_deps sorted_dependents(args.formulae_and_casks), recursive, args: args
return return
end end
@ -102,9 +102,9 @@ module Homebrew
dependents = dependents(args.formulae_and_casks) dependents = dependents(args.formulae_and_casks)
all_deps = deps_for_dependents(dependents, recursive, &(args.union? ? :| : :&)) all_deps = deps_for_dependents(dependents, recursive, args: args, &(args.union? ? :| : :&))
condense_requirements(all_deps) condense_requirements(all_deps)
all_deps.map!(&method(:dep_display_name)) all_deps.map! { |d| dep_display_name(d, args: args) }
all_deps.uniq! all_deps.uniq!
all_deps.sort! unless args.n? all_deps.sort! unless args.n?
puts all_deps puts all_deps
@ -129,7 +129,7 @@ module Homebrew
deps.select! { |dep| dep.is_a?(Requirement) || dep.installed? } if args.installed? deps.select! { |dep| dep.is_a?(Requirement) || dep.installed? } if args.installed?
end end
def dep_display_name(dep) def dep_display_name(dep, args:)
str = if dep.is_a? Requirement str = if dep.is_a? Requirement
if args.include_requirements? if args.include_requirements?
":#{dep.display_s}" ":#{dep.display_s}"
@ -154,8 +154,8 @@ module Homebrew
str str
end end
def deps_for_dependent(d, recursive = false) def deps_for_dependent(d, recursive = false, args:)
includes, ignores = argv_includes_ignores(ARGV) includes, ignores = args_includes_ignores(args)
deps = d.runtime_dependencies if @use_runtime_dependencies deps = d.runtime_dependencies if @use_runtime_dependencies
@ -170,31 +170,31 @@ module Homebrew
deps + reqs.to_a deps + reqs.to_a
end end
def deps_for_dependents(dependents, recursive = false, &block) def deps_for_dependents(dependents, recursive = false, args:, &block)
dependents.map { |d| deps_for_dependent(d, recursive) }.reduce(&block) dependents.map { |d| deps_for_dependent(d, recursive, args: args) }.reduce(&block)
end end
def puts_deps(dependents, recursive = false) def puts_deps(dependents, recursive = false, args:)
dependents.each do |d| dependents.each do |dependent|
deps = deps_for_dependent(d, recursive) deps = deps_for_dependent(dependent, recursive, args: args)
condense_requirements(deps) condense_requirements(deps)
deps.sort_by!(&:name) deps.sort_by!(&:name)
deps.map!(&method(:dep_display_name)) deps.map! { |d| dep_display_name(d, args: args) }
puts "#{d.full_name}: #{deps.join(" ")}" puts "#{dependent.full_name}: #{deps.join(" ")}"
end end
end end
def puts_deps_tree(dependents, recursive = false) def puts_deps_tree(dependents, recursive = false, args:)
dependents.each do |d| dependents.each do |d|
puts d.full_name puts d.full_name
@dep_stack = [] @dep_stack = []
recursive_deps_tree(d, "", recursive) recursive_deps_tree(d, "", recursive, args: args)
puts puts
end end
end end
def recursive_deps_tree(f, prefix, recursive) def recursive_deps_tree(f, prefix, recursive, args:)
includes, ignores = argv_includes_ignores(ARGV) includes, ignores = args_includes_ignores(args)
dependables = @use_runtime_dependencies ? f.runtime_dependencies : f.deps dependables = @use_runtime_dependencies ? f.runtime_dependencies : f.deps
deps = reject_ignores(dependables, ignores, includes) deps = reject_ignores(dependables, ignores, includes)
reqs = reject_ignores(f.requirements, ignores, includes) reqs = reject_ignores(f.requirements, ignores, includes)
@ -211,7 +211,7 @@ module Homebrew
"├──" "├──"
end end
display_s = "#{tree_lines} #{dep_display_name(dep)}" display_s = "#{tree_lines} #{dep_display_name(dep, args: args)}"
is_circular = @dep_stack.include?(dep.name) is_circular = @dep_stack.include?(dep.name)
display_s = "#{display_s} (CIRCULAR DEPENDENCY)" if is_circular display_s = "#{display_s} (CIRCULAR DEPENDENCY)" if is_circular
puts "#{prefix}#{display_s}" puts "#{prefix}#{display_s}"
@ -224,7 +224,9 @@ module Homebrew
"" ""
end end
recursive_deps_tree(Formulary.factory(dep.name), prefix + prefix_addition, true) if dep.is_a? Dependency if dep.is_a? Dependency
recursive_deps_tree(Formulary.factory(dep.name), prefix + prefix_addition, true, args: args)
end
end end
@dep_stack.pop @dep_stack.pop

View File

@ -75,7 +75,7 @@ module Homebrew
else else
formulae = args.installed? ? Formula.installed : Formula formulae = args.installed? ? Formula.installed : Formula
recursive = args.recursive? recursive = args.recursive?
includes, ignores = argv_includes_ignores(ARGV) includes, ignores = args_includes_ignores(args)
formulae.select do |f| formulae.select do |f|
deps = if recursive deps = if recursive

View File

@ -57,23 +57,23 @@ class Requirements < DelegateClass(Set)
end end
module DependenciesHelpers module DependenciesHelpers
def argv_includes_ignores(argv) def args_includes_ignores(args)
includes = [] includes = []
ignores = [] ignores = []
if argv.include? "--include-build" if args.include_build?
includes << "build?" includes << "build?"
else else
ignores << "build?" ignores << "build?"
end end
if argv.include? "--include-test" if args.include_test?
includes << "test?" includes << "test?"
else else
ignores << "test?" ignores << "test?"
end end
if argv.include? "--include-optional" if args.include_optional?
includes << "optional?" includes << "optional?"
else else
ignores << "optional?" ignores << "optional?"