Restore documented behavior of brew uses foo bar
`brew uses foo bar` is supposed to return the intersection of formulae that use foo and bar. However, this was broken by changes made to support requirements that can coerce to regular dependencies.
This commit is contained in:
parent
574fc99258
commit
872f46dc1e
@ -12,25 +12,18 @@ module Homebrew extend self
|
||||
formulae = (ARGV.include? "--installed") ? Formula.installed : Formula
|
||||
recursive = ARGV.flag? "--recursive"
|
||||
|
||||
uses = []
|
||||
formulae.each do |f|
|
||||
uses = formulae.select do |f|
|
||||
used_formulae.all? do |ff|
|
||||
if recursive
|
||||
if f.recursive_dependencies.any? { |dep| dep.name == ff.name }
|
||||
uses << f.to_s
|
||||
elsif f.recursive_requirements.any? { |req| req.name == ff.name }
|
||||
uses << f.to_s
|
||||
end
|
||||
f.recursive_dependencies.any? { |dep| dep.name == ff.name } ||
|
||||
f.recursive_requirements.any? { |req| req.name == ff.name }
|
||||
else
|
||||
if f.deps.any? { |dep| dep.name == ff.name }
|
||||
uses << f.to_s
|
||||
elsif f.requirements.any? { |req| req.name == ff.name }
|
||||
uses << f.to_s
|
||||
end
|
||||
f.deps.any? { |dep| dep.name == ff.name } ||
|
||||
f.requirements.any? { |req| req.name == ff.name }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
puts_columns uses
|
||||
puts_columns uses.map(&:name)
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user