aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-01-23 00:26:24 -0600
committerJack Nagel2013-01-26 12:14:44 -0600
commitdc96fe8567df3b0b3a2a511d6ed21ead1a06d7eb (patch)
treee22c46a7b3167017a37efbab9b578c606b664751
parentf180a4f7dcd80e0d14cf26c456c1f0992653c8d3 (diff)
downloadhomebrew-dc96fe8567df3b0b3a2a511d6ed21ead1a06d7eb.tar.bz2
FormulaInstaller: factor out requirement checking
-rw-r--r--Library/Homebrew/formula_installer.rb24
1 files changed, 16 insertions, 8 deletions
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index 0df987f1f..a47dd108b 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -75,8 +75,11 @@ class FormulaInstaller
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