Filter optional and reccommended requirements

This commit is contained in:
Jack Nagel 2013-01-27 23:57:34 -06:00
parent e9014c436c
commit 48a8af32f3

View File

@ -104,15 +104,23 @@ class FormulaInstaller
end end
def check_requirements def check_requirements
needed_reqs = ARGV.filter_for_dependencies do unsatisfied = ARGV.filter_for_dependencies do
f.recursive_requirements.reject(&:satisfied?) f.recursive_requirements.select do |req|
if req.satisfied?
false
elsif req.build?
not pour_bottle?
elsif req.optional? || req.recommended?
f.recursive_dependencies.map(&:to_formula).any? do |dep|
dep.build.with?(req.name)
end || f.build.with?(req.name)
end
end
end end
needed_reqs.reject!(&:build?) if pour_bottle? unless unsatisfied.empty?
puts unsatisfied.map(&:message) * "\n"
unless needed_reqs.empty? fatals = unsatisfied.select(&:fatal?)
puts needed_reqs.map(&:message) * "\n"
fatals = needed_reqs.select(&:fatal?)
raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty? raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty?
end end
end end