From c101919a2ec5cbed5401baa6e99af8c3eb438d03 Mon Sep 17 00:00:00 2001 From: tduehr Date: Wed, 12 Mar 2014 11:31:16 -0500 Subject: 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 --- Library/Homebrew/cmd/deps.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'Library') 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) -- cgit v1.2.3