aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2016-12-12 13:28:56 +0000
committerGitHub2016-12-12 13:28:56 +0000
commit666463ca2be08261cf103e4870b267f5b461a7f3 (patch)
tree7f2a11be3bc8ffb245014bb0f3542ea59d6689d7 /Library
parentc317c3c31f7e502dfc9c97f8e1b19a89f7d794b3 (diff)
parent2b68da8252bcf9ad2444811782c889be54389b6e (diff)
downloadbrew-666463ca2be08261cf103e4870b267f5b461a7f3.tar.bz2
Merge pull request #1592 from alyssais/runtime_dependencies
formula: runtime deps of build deps aren't runtime
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/formula.rb2
-rw-r--r--Library/Homebrew/test/formula_test.rb15
2 files changed, 12 insertions, 5 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index c80cd517f..e1846424f 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -1505,7 +1505,7 @@ class Formula
# Returns a list of Dependency objects that are required at runtime.
# @private
def runtime_dependencies
- recursive_dependencies.reject(&:build?)
+ recursive_dependencies { |_, dep| Dependency.prune if dep.build? }
end
# Returns a list of formulae depended on by this formula that aren't
diff --git a/Library/Homebrew/test/formula_test.rb b/Library/Homebrew/test/formula_test.rb
index a6db1b57f..28d376b7c 100644
--- a/Library/Homebrew/test/formula_test.rb
+++ b/Library/Homebrew/test/formula_test.rb
@@ -651,12 +651,19 @@ class FormulaTests < Homebrew::TestCase
f4 = formula("f4") do
url "f4-1.0"
- depends_on "f3"
+ depends_on "f1"
end
+ stub_formula_loader f4
- assert_equal %w[f3], f4.deps.map(&:name)
- assert_equal %w[f1 f2 f3], f4.recursive_dependencies.map(&:name)
- assert_equal %w[f2 f3], f4.runtime_dependencies.map(&:name)
+ f5 = formula("f5") do
+ url "f5-1.0"
+ depends_on "f3" => :build
+ depends_on "f4"
+ end
+
+ assert_equal %w[f3 f4], f5.deps.map(&:name)
+ assert_equal %w[f1 f2 f3 f4], f5.recursive_dependencies.map(&:name)
+ assert_equal %w[f1 f4], f5.runtime_dependencies.map(&:name)
end
def test_to_hash