formula_installer: fix pruning of test deps also marked as build

This commit is contained in:
Bo Anderson 2020-05-22 23:26:23 +01:00
parent 9265ea0c50
commit 6b06043289

View File

@ -456,7 +456,7 @@ class FormulaInstaller
keep_build_test = false keep_build_test = false
keep_build_test ||= runtime_requirements.include?(req) keep_build_test ||= runtime_requirements.include?(req)
keep_build_test ||= req.test? && include_test? && dependent == f keep_build_test ||= req.test? && include_test? && dependent == f
keep_build_test ||= req.build? && !install_bottle_for_dependent keep_build_test ||= req.build? && !install_bottle_for_dependent && !dependent.latest_version_installed?
if req.prune_from_option?(build) if req.prune_from_option?(build)
Requirement.prune Requirement.prune
@ -491,14 +491,12 @@ class FormulaInstaller
keep_build_test = false keep_build_test = false
keep_build_test ||= dep.test? && include_test? && Homebrew.args.include_formula_test_deps?(dependent) keep_build_test ||= dep.test? && include_test? && Homebrew.args.include_formula_test_deps?(dependent)
keep_build_test ||= dep.build? && !install_bottle_for?(dependent, build) keep_build_test ||= dep.build? && !install_bottle_for?(dependent, build) && !dependent.latest_version_installed?
if dep.prune_from_option?(build) if dep.prune_from_option?(build)
Dependency.prune Dependency.prune
elsif (dep.build? || dep.test?) && !keep_build_test elsif (dep.build? || dep.test?) && !keep_build_test
Dependency.prune Dependency.prune
elsif dep.prune_if_build_and_not_dependent?(dependent)
Dependency.prune
elsif dep.satisfied?(inherited_options[dep.name]) elsif dep.satisfied?(inherited_options[dep.name])
Dependency.skip Dependency.skip
else else