diff options
| author | Xu Cheng | 2015-05-19 21:57:45 +0800 |
|---|---|---|
| committer | Xu Cheng | 2015-05-20 16:29:15 +0800 |
| commit | 8b5787122061d115b1360f5e462f619e93af9a93 (patch) | |
| tree | 9b0fa50e2485109151ade7f9064347816289ab8f /Library | |
| parent | cacad69a8e6cd7d5fa747dfc9e081e51a987d9b4 (diff) | |
| download | brew-8b5787122061d115b1360f5e462f619e93af9a93.tar.bz2 | |
uses/deps: fix for recursive deps/reqs
Closes Homebrew/homebrew#39906.
Signed-off-by: Xu Cheng <xucheng@me.com>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/deps.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/uses.rb | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index cffeb4205..9cbdafe97 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -34,11 +34,11 @@ module Homebrew ignores << "optional?" if ARGV.include? "--skip-optional" if recursive - deps = f.recursive_dependencies.reject do |dep| - ignores.any? { |ignore| dep.send(ignore) } + deps = f.recursive_dependencies do |dependent, dep| + Dependency.prune if ignores.any? { |ignore| dep.send(ignore) } && !dependent.build.with?(dep) end - reqs = f.recursive_requirements.reject do |req| - ignores.any? { |ignore| req.send(ignore) } + reqs = f.recursive_requirements do |dependent, req| + Requirement.prune if ignores.any? { |ignore| req.send(ignore) } && !dependent.build.with?(req) end else deps = f.deps.reject do |dep| diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 8f4ead126..6d42f8e54 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -19,11 +19,11 @@ module Homebrew used_formulae.all? do |ff| begin if recursive - deps = f.recursive_dependencies.reject do |dep| - ignores.any? { |ignore| dep.send(ignore) } + deps = f.recursive_dependencies do |dependent, dep| + Dependency.prune if ignores.any? { |ignore| dep.send(ignore) } && !dependent.build.with?(dep) end - reqs = f.recursive_requirements.reject do |req| - ignores.any? { |ignore| req.send(ignore) } + reqs = f.recursive_requirements do |dependent, req| + Requirement.prune if ignores.any? { |ignore| req.send(ignore) } && !dependent.build.with?(req) end deps.any? { |dep| dep.to_formula.name == ff.name } || reqs.any? { |req| req.name == ff.name || req.class.default_formula == ff.name } |
