aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2015-03-20 21:31:33 +0000
committerMike McQuaid2015-03-23 13:30:54 +0000
commit8b35d842ec1d5e54418024e8afa4fa4ba4302eeb (patch)
tree3272cb608c1e03766289e9deae19b07ea27813c2
parent734d1300ddb6e38dfdd886b3c0be6dd82eb388a8 (diff)
downloadhomebrew-8b35d842ec1d5e54418024e8afa4fa4ba4302eeb.tar.bz2
deps: allow skipping build, optional deps.
-rw-r--r--Library/Homebrew/cmd/deps.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb
index ac3a47426..cffeb4205 100644
--- a/Library/Homebrew/cmd/deps.rb
+++ b/Library/Homebrew/cmd/deps.rb
@@ -29,12 +29,24 @@ module Homebrew
end
def deps_for_formula(f, recursive=false)
+ ignores = []
+ ignores << "build?" if ARGV.include? "--skip-build"
+ ignores << "optional?" if ARGV.include? "--skip-optional"
+
if recursive
- deps = f.recursive_dependencies
- reqs = f.recursive_requirements
+ deps = f.recursive_dependencies.reject do |dep|
+ ignores.any? { |ignore| dep.send(ignore) }
+ end
+ reqs = f.recursive_requirements.reject do |req|
+ ignores.any? { |ignore| req.send(ignore) }
+ end
else
- deps = f.deps.default
- reqs = f.requirements
+ deps = f.deps.reject do |dep|
+ ignores.any? { |ignore| dep.send(ignore) }
+ end
+ reqs = f.requirements.reject do |req|
+ ignores.any? { |ignore| req.send(ignore) }
+ end
end
deps + reqs.select(&:default_formula?).map(&:to_dependency)