formula_installer: fix already-satisfied test deps not being pruned
This commit is contained in:
parent
bfc081ee0b
commit
6ac9d43599
@ -453,22 +453,18 @@ class FormulaInstaller
|
|||||||
build = effective_build_options_for(dependent)
|
build = effective_build_options_for(dependent)
|
||||||
install_bottle_for_dependent = install_bottle_for?(dependent, build)
|
install_bottle_for_dependent = install_bottle_for?(dependent, build)
|
||||||
|
|
||||||
|
keep_build_test = false
|
||||||
|
keep_build_test ||= runtime_requirements.include?(req)
|
||||||
|
keep_build_test ||= req.test? && include_test? && dependent == f
|
||||||
|
keep_build_test ||= req.build? && !install_bottle_for_dependent
|
||||||
|
keep_build_test ||= (dep = formula_deps_map[dependent.name]) && !dep.build?
|
||||||
|
|
||||||
if req.prune_from_option?(build)
|
if req.prune_from_option?(build)
|
||||||
Requirement.prune
|
Requirement.prune
|
||||||
elsif req.satisfied?
|
elsif req.satisfied?
|
||||||
Requirement.prune
|
Requirement.prune
|
||||||
elsif req.test? || req.build?
|
elsif (req.build? || req.test?) && !keep_build_test
|
||||||
keep = false
|
|
||||||
keep ||= runtime_requirements.include?(req)
|
|
||||||
keep ||= req.test? && include_test? && dependent == f
|
|
||||||
keep ||= req.build? && !install_bottle_for_dependent
|
|
||||||
keep ||= (dep = formula_deps_map[dependent.name]) && !dep.build?
|
|
||||||
|
|
||||||
if keep
|
|
||||||
unsatisfied_reqs[dependent] << req
|
|
||||||
else
|
|
||||||
Requirement.prune
|
Requirement.prune
|
||||||
end
|
|
||||||
else
|
else
|
||||||
unsatisfied_reqs[dependent] << req
|
unsatisfied_reqs[dependent] << req
|
||||||
end
|
end
|
||||||
@ -492,13 +488,14 @@ class FormulaInstaller
|
|||||||
inherited_options.fetch(dependent.name, []),
|
inherited_options.fetch(dependent.name, []),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
keep_build_test = false
|
||||||
|
keep_build_test ||= dep.test? && include_test? && Homebrew.args.include_formula_test_deps?(dependent)
|
||||||
|
keep_build_test ||= dep.build? && !install_bottle_for?(dependent, build)
|
||||||
|
|
||||||
if dep.prune_from_option?(build)
|
if dep.prune_from_option?(build)
|
||||||
Dependency.prune
|
Dependency.prune
|
||||||
elsif dep.test? || (dep.build? && install_bottle_for?(dependent, build))
|
elsif (dep.build? || dep.test?) && !keep_build_test
|
||||||
keep = false
|
Dependency.prune
|
||||||
keep ||= dep.test? && include_test? && Homebrew.args.include_formula_test_deps?(dependent)
|
|
||||||
keep ||= dep.build? && !install_bottle_for?(dependent, build)
|
|
||||||
Dependency.prune unless keep
|
|
||||||
elsif dep.prune_if_build_and_not_dependent?(dependent)
|
elsif dep.prune_if_build_and_not_dependent?(dependent)
|
||||||
Dependency.prune
|
Dependency.prune
|
||||||
elsif dep.satisfied?(inherited_options[dep.name])
|
elsif dep.satisfied?(inherited_options[dep.name])
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user