Merge pull request #1592 from alyssais/runtime_dependencies

formula: runtime deps of build deps aren't runtime
This commit is contained in:
Mike McQuaid 2016-12-12 13:28:56 +00:00 committed by GitHub
commit 666463ca2b
2 changed files with 12 additions and 5 deletions

View File

@ -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

View File

@ -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
f5 = formula("f5") do
url "f5-1.0"
depends_on "f3" => :build
depends_on "f4"
end
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)
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