aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Vandenberg2010-03-23 07:01:02 -0700
committerAdam Vandenberg2010-04-17 09:34:03 -0700
commita27864d054d84f0d198f53d4d69c5e55c96d6a74 (patch)
treecebc34a367fd416847566088f1450b1b2ad11d2a
parente0295576c04377bc071967b0f9f8a0526fcb426e (diff)
downloadhomebrew-a27864d054d84f0d198f53d4d69c5e55c96d6a74.tar.bz2
Read all formula in a 'rescue' block.
For operations that read all formulae, catch exceptions and skip broken ones, rather than bomb out entirely.
-rw-r--r--Library/Homebrew/formula.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 4d67adfd6..10e345e70 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -34,10 +34,15 @@ class Formulary
def self.read_all
# yields once for each
Formulary.names.each do |name|
- require Formula.path(name)
- klass_name = Formula.class_s(name)
- klass = eval(klass_name)
- yield name, klass
+ begin
+ require Formula.path(name)
+ klass_name = Formula.class_s(name)
+ klass = eval(klass_name)
+ yield name, klass
+ rescue Exception=>e
+ opoo "Error importing #{name}:"
+ puts "#{e}"
+ end
end
end