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