aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorXu Cheng2015-09-02 20:56:04 +0800
committerMike McQuaid2015-02-09 14:12:19 +0000
commitb4545f364ef8bb0932c2367eade1d380f277c4bf (patch)
treea5cce056428b9a8029aa702ba9196cb43b115431 /Library/Homebrew/cmd
parent5b855d60d099e4e0cd342c7d3bb9a78e5cdbc8fb (diff)
downloadhomebrew-b4545f364ef8bb0932c2367eade1d380f277c4bf.tar.bz2
test-bot: only test the runtime dependencies.
Also add support to `brew uses` to ignore build or optional dependencies. Closes #36154. Closes #36656. Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/test-bot.rb2
-rw-r--r--Library/Homebrew/cmd/uses.rb13
2 files changed, 12 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb
index d7414302a..9a1478764 100644
--- a/Library/Homebrew/cmd/test-bot.rb
+++ b/Library/Homebrew/cmd/test-bot.rb
@@ -363,7 +363,7 @@ module Homebrew
unchanged_dependencies = dependencies - @formulae
changed_dependences = dependencies - unchanged_dependencies
- dependents = `brew uses #{formula_name}`.split("\n")
+ dependents = `brew uses --skip-build --skip-optional #{formula_name}`.split("\n")
dependents -= @formulae
dependents = dependents.map {|d| Formulary.factory(d)}
diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb
index 1c029b0f0..abba88cec 100644
--- a/Library/Homebrew/cmd/uses.rb
+++ b/Library/Homebrew/cmd/uses.rb
@@ -11,15 +11,24 @@ module Homebrew
used_formulae = ARGV.formulae
formulae = (ARGV.include? "--installed") ? Formula.installed : Formula
recursive = ARGV.flag? "--recursive"
+ ignores = []
+ ignores << "build?" if ARGV.flag? "--skip-build"
+ ignores << "optional?" if ARGV.flag? "--skip-optional"
uses = formulae.select do |f|
used_formulae.all? do |ff|
begin
if recursive
- f.recursive_dependencies.any? { |dep| dep.to_formula.name == ff.name } ||
+ deps = f.recursive_dependencies.reject do |dep|
+ ignores.any? { |ignore| dep.send(ignore) }
+ end
+ deps.any? { |dep| dep.to_formula.name == ff.name } ||
f.recursive_requirements.any? { |req| req.name == ff.name }
else
- f.deps.any? { |dep| dep.to_formula.name == ff.name } ||
+ deps = f.deps.reject do |dep|
+ ignores.any? { |ignore| dep.send(ignore) }
+ end
+ deps.any? { |dep| dep.to_formula.name == ff.name } ||
f.requirements.any? { |req| req.name == ff.name }
end
rescue FormulaUnavailableError => e