Merge pull request #7609 from Bo98/include_test-dependents

Further test dep fixes
This commit is contained in:
Mike McQuaid 2020-05-20 08:22:57 +01:00 committed by GitHub
commit ceb3513b86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 14 deletions

View File

@ -175,6 +175,12 @@ module Homebrew
formulae.any? { |args_f| args_f.full_name == f.full_name }
end
def include_formula_test_deps?(f)
return false unless include_test?
formulae.any? { |args_f| args_f.full_name == f.full_name }
end
private
def option_to_name(option)

View File

@ -100,16 +100,11 @@ module Homebrew
klass.prune if ignores.include?("recommended?") || dependent.build.without?(dep)
elsif dep.optional?
klass.prune if !includes.include?("optional?") && !dependent.build.with?(dep)
elsif dep.test?
if includes.include?("test?")
Dependency.keep_but_prune_recursive_deps if type == :dependencies
elsif dep.build?
klass.prune unless includes.include?("build?")
else
klass.prune
end
elsif dep.build?
klass.prune unless includes.include?("build?")
elsif dep.build? || dep.test?
keep = false
keep ||= dep.test? && includes.include?("test?") && dependent == formula
keep ||= dep.build? && includes.include?("build?")
klass.prune unless keep
end
# If a tap isn't installed, we can't find the dependencies of one of

View File

@ -89,9 +89,6 @@ class Dependency
deps.each do |dep|
next if dependent.name == dep.name
# we only care about one level of test dependencies.
next if dep.test? && @expand_stack.length > 1
case action(dependent, dep, &block)
when :prune
next

View File

@ -490,7 +490,7 @@ class FormulaInstaller
Dependency.prune
elsif dep.test? || (dep.build? && install_bottle_for?(dependent, build))
keep = false
keep ||= dep.test? && include_test? && dependent == formula
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)
@ -569,6 +569,7 @@ class FormulaInstaller
fi.build_from_source = Homebrew.args.build_formula_from_source?(df)
fi.force_bottle = false
fi.include_test = Homebrew.args.include_formula_test_deps?(df)
fi.verbose = verbose?
fi.quiet = quiet?
fi.debug = debug?
@ -611,6 +612,7 @@ class FormulaInstaller
fi.options &= df.options
fi.build_from_source = Homebrew.args.build_formula_from_source?(df)
fi.force_bottle = false
fi.include_test = Homebrew.args.include_formula_test_deps?(df)
fi.verbose = verbose?
fi.quiet = quiet?
fi.debug = debug?