Merge pull request #6872 from EricFromCanada/deps-build-test
deps: don't skip dependencies that are both :build and :test
This commit is contained in:
commit
e7a2fdeb65
@ -175,13 +175,11 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def recursive_deps_tree(f, prefix, recursive)
|
def recursive_deps_tree(f, prefix, recursive)
|
||||||
reqs = f.requirements
|
includes, ignores = argv_includes_ignores(ARGV)
|
||||||
deps = f.deps
|
deps = reject_ignores(f.deps, ignores, includes)
|
||||||
|
reqs = reject_ignores(f.requirements, ignores, includes)
|
||||||
dependables = reqs + deps
|
dependables = reqs + deps
|
||||||
dependables.reject!(&:optional?) unless args.include_optional?
|
|
||||||
dependables.reject!(&:build?) unless args.include_build?
|
|
||||||
dependables.reject!(&:test?) unless args.include_test?
|
|
||||||
dependables.reject!(&:recommended?) if args.skip_recommended?
|
|
||||||
max = dependables.length - 1
|
max = dependables.length - 1
|
||||||
@dep_stack.push f.name
|
@dep_stack.push f.name
|
||||||
dependables.each_with_index do |dep, i|
|
dependables.each_with_index do |dep, i|
|
||||||
|
|||||||
@ -98,19 +98,21 @@ module Homebrew
|
|||||||
formula.send("recursive_#{type}") do |dependent, dep|
|
formula.send("recursive_#{type}") do |dependent, dep|
|
||||||
if dep.recommended?
|
if dep.recommended?
|
||||||
klass.prune if ignores.include?("recommended?") || dependent.build.without?(dep)
|
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?
|
elsif dep.test?
|
||||||
if includes.include?("test?")
|
if includes.include?("test?")
|
||||||
Dependency.keep_but_prune_recursive_deps if type == :dependencies
|
Dependency.keep_but_prune_recursive_deps if type == :dependencies
|
||||||
|
elsif dep.build?
|
||||||
|
klass.prune unless includes.include?("build?")
|
||||||
else
|
else
|
||||||
klass.prune
|
klass.prune
|
||||||
end
|
end
|
||||||
elsif dep.optional?
|
|
||||||
klass.prune if !includes.include?("optional?") && !dependent.build.with?(dep)
|
|
||||||
elsif dep.build?
|
elsif dep.build?
|
||||||
klass.prune unless includes.include?("build?")
|
klass.prune unless includes.include?("build?")
|
||||||
end
|
end
|
||||||
|
|
||||||
# If a tap isn't installed, we can't find the dependencies of one
|
# If a tap isn't installed, we can't find the dependencies of one of
|
||||||
# its formulae, and an exception will be thrown if we try.
|
# its formulae, and an exception will be thrown if we try.
|
||||||
if type == :dependencies &&
|
if type == :dependencies &&
|
||||||
dep.is_a?(TapDependency) &&
|
dep.is_a?(TapDependency) &&
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user