deps: minor refactoring

This commit is contained in:
fn ⌃ ⌥ 2021-11-12 13:50:53 -08:00
parent d63c4d2761
commit a188215d69
2 changed files with 14 additions and 13 deletions

View File

@ -203,13 +203,12 @@ module Homebrew
def puts_deps_tree(dependents, args:, recursive: false) def puts_deps_tree(dependents, args:, recursive: false)
dependents.each do |d| dependents.each do |d|
puts d.full_name puts d.full_name
@dep_stack = [] recursive_deps_tree(d, dep_stack: [], prefix: "", recursive: recursive, args: args)
recursive_deps_tree(d, "", recursive, args: args)
puts puts
end end
end end
def recursive_deps_tree(f, prefix, recursive, args:) def recursive_deps_tree(f, dep_stack:, prefix:, recursive:, args:)
includes, ignores = args_includes_ignores(args) 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)
@ -217,7 +216,7 @@ module Homebrew
dependables = reqs + deps dependables = reqs + deps
max = dependables.length - 1 max = dependables.length - 1
@dep_stack.push f.name dep_stack.push f.name
dependables.each_with_index do |dep, i| dependables.each_with_index do |dep, i|
next if !args.include_requirements? && dep.is_a?(Requirement) next if !args.include_requirements? && dep.is_a?(Requirement)
@ -228,7 +227,7 @@ module Homebrew
end end
display_s = "#{tree_lines} #{dep_display_name(dep, args: args)}" 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}"
@ -240,11 +239,15 @@ module Homebrew
"" ""
end end
if dep.is_a? Dependency next unless dep.is_a? Dependency
recursive_deps_tree(Formulary.factory(dep.name), prefix + prefix_addition, true, args: args)
end recursive_deps_tree(Formulary.factory(dep.name),
dep_stack: dep_stack,
prefix: prefix + prefix_addition,
recursive: true,
args: args)
end end
@dep_stack.pop dep_stack.pop
end end
end end

View File

@ -20,7 +20,7 @@ module Utils
packages = Array(packages) packages = Array(packages)
packages.each do |cask_or_formula| packages.each do |cask_or_formula|
next accumulator if accumulator.key?(cask_or_formula) next if accumulator.key?(cask_or_formula)
if cask_or_formula.is_a?(Cask::Cask) if cask_or_formula.is_a?(Cask::Cask)
formula_deps = cask_or_formula.depends_on formula_deps = cask_or_formula.depends_on
@ -39,9 +39,7 @@ module Utils
.map { |c| Cask::CaskLoader.load(c, config: nil) } .map { |c| Cask::CaskLoader.load(c, config: nil) }
end end
accumulator[cask_or_formula] ||= [] accumulator[cask_or_formula] = formula_deps + cask_deps
accumulator[cask_or_formula] += formula_deps
accumulator[cask_or_formula] += cask_deps
graph_package_dependencies(formula_deps, accumulator) graph_package_dependencies(formula_deps, accumulator)
graph_package_dependencies(cask_deps, accumulator) graph_package_dependencies(cask_deps, accumulator)