aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authortduehr2014-03-12 11:31:16 -0500
committerJack Nagel2014-05-06 21:06:23 -0500
commitc101919a2ec5cbed5401baa6e99af8c3eb438d03 (patch)
tree9a3bbbc1b4c3e17c2677e3ea949684a5052e1d74 /Library/Homebrew/cmd
parent5c37baa5e7b08748a1e7b13185f8f6089f6fb604 (diff)
downloadbrew-c101919a2ec5cbed5401baa6e99af8c3eb438d03.tar.bz2
Add `brew deps --union`
The default behavior of `brew deps foo bar` is to return the intersection of the deps of foo and bar. This option returns the union. Closes Homebrew/homebrew#27480. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/deps.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb
index bd73b20e3..3abe1cf6e 100644
--- a/Library/Homebrew/cmd/deps.rb
+++ b/Library/Homebrew/cmd/deps.rb
@@ -7,7 +7,8 @@ module Homebrew extend self
:installed? => ARGV.include?('--installed'),
:tree? => ARGV.include?('--tree'),
:all? => ARGV.include?('--all'),
- :topo_order? => ARGV.include?('-n')
+ :topo_order? => ARGV.include?('-n'),
+ :union? => ARGV.include?('--union')
)
if mode.installed? && mode.tree?
@@ -21,7 +22,7 @@ module Homebrew extend self
puts_deps_tree ARGV.formulae
else
raise FormulaUnspecifiedError if ARGV.named.empty?
- all_deps = deps_for_formulae(ARGV.formulae, !ARGV.one?)
+ all_deps = deps_for_formulae(ARGV.formulae, !ARGV.one?, &(mode.union? ? :| : :&))
all_deps = all_deps.sort_by(&:name) unless mode.topo_order?
puts all_deps
end
@@ -39,8 +40,8 @@ module Homebrew extend self
deps + reqs.select(&:default_formula?).map(&:to_dependency)
end
- def deps_for_formulae(formulae, recursive=false)
- formulae.map {|f| deps_for_formula(f, recursive) }.inject(&:&)
+ def deps_for_formulae(formulae, recursive=false, &block)
+ formulae.map {|f| deps_for_formula(f, recursive) }.inject(&block)
end
def puts_deps(formulae)