FormulaInstaller: factor out requirement checking
This commit is contained in:
parent
e9e16fefa9
commit
8b346d7a6d
@ -74,9 +74,12 @@ class FormulaInstaller
|
||||
EOS
|
||||
end
|
||||
|
||||
unless ignore_deps
|
||||
check_requirements
|
||||
end
|
||||
|
||||
unless ignore_deps
|
||||
needed_deps = []
|
||||
needed_reqs = []
|
||||
|
||||
# HACK: If readline is present in the dependency tree, it will clash
|
||||
# with the stdlib's Readline module when the debugger is loaded
|
||||
@ -86,13 +89,6 @@ class FormulaInstaller
|
||||
|
||||
ARGV.filter_for_dependencies do
|
||||
needed_deps = f.recursive_deps.reject{ |d| d.installed? }
|
||||
needed_reqs = f.recursive_requirements.reject { |r| r.satisfied? }
|
||||
end
|
||||
|
||||
unless needed_reqs.empty?
|
||||
puts needed_reqs.map { |r| r.message } * "\n"
|
||||
fatals = needed_reqs.select { |r| r.fatal? }
|
||||
raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty?
|
||||
end
|
||||
|
||||
unless needed_deps.empty?
|
||||
@ -128,6 +124,18 @@ class FormulaInstaller
|
||||
opoo "Nothing was installed to #{f.prefix}" unless f.installed?
|
||||
end
|
||||
|
||||
def check_requirements
|
||||
needed_reqs = ARGV.filter_for_dependencies do
|
||||
f.recursive_requirements.reject(&:satisfied?)
|
||||
end
|
||||
|
||||
unless needed_reqs.empty?
|
||||
puts needed_reqs.map(&:message) * "\n"
|
||||
fatals = needed_reqs.select(&:fatal?)
|
||||
raise UnsatisfiedRequirements.new(f, fatals) unless fatals.empty?
|
||||
end
|
||||
end
|
||||
|
||||
def install_dependency dep
|
||||
dep_tab = Tab.for_formula(dep)
|
||||
outdated_keg = Keg.new(dep.linked_keg.realpath) rescue nil
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user