brew-test-bot: check default_formula requirements.
This handles the case where e.g. a default_formula cannot be installed on Yosemite which causes the build to fail.
This commit is contained in:
parent
e8d7d1df9c
commit
395d798bc2
@ -322,11 +322,17 @@ module Homebrew
|
|||||||
puts "#{Tty.blue}==>#{Tty.white} SKIPPING: #{formula_name}#{Tty.reset}"
|
puts "#{Tty.blue}==>#{Tty.white} SKIPPING: #{formula_name}#{Tty.reset}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def satisfied_requirements? formula, spec
|
def satisfied_requirements? formula, spec, dependency=nil
|
||||||
requirements = formula.send(spec).requirements
|
requirements = formula.send(spec).requirements
|
||||||
|
|
||||||
unsatisfied_requirements = requirements.reject do |requirement|
|
unsatisfied_requirements = requirements.reject do |requirement|
|
||||||
requirement.satisfied? || requirement.default_formula?
|
satisfied = false
|
||||||
|
satisfied = true if requirement.satisfied?
|
||||||
|
if !satisfied && requirement.default_formula?
|
||||||
|
default = Formula[requirement.class.default_formula]
|
||||||
|
satisfied = satisfied_requirements?(default, :stable, formula.name)
|
||||||
|
end
|
||||||
|
satisfied
|
||||||
end
|
end
|
||||||
|
|
||||||
if unsatisfied_requirements.empty?
|
if unsatisfied_requirements.empty?
|
||||||
@ -334,6 +340,7 @@ module Homebrew
|
|||||||
else
|
else
|
||||||
name = formula.name
|
name = formula.name
|
||||||
name += " (#{spec})" unless spec == :stable
|
name += " (#{spec})" unless spec == :stable
|
||||||
|
name += " (#{dependency} dependency)" if dependency
|
||||||
skip name
|
skip name
|
||||||
puts unsatisfied_requirements.map(&:message)
|
puts unsatisfied_requirements.map(&:message)
|
||||||
false
|
false
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user