diff options
| author | Adam Vandenberg | 2010-03-23 07:01:02 -0700 |
|---|---|---|
| committer | Adam Vandenberg | 2010-04-17 09:34:03 -0700 |
| commit | a27864d054d84f0d198f53d4d69c5e55c96d6a74 (patch) | |
| tree | cebc34a367fd416847566088f1450b1b2ad11d2a | |
| parent | e0295576c04377bc071967b0f9f8a0526fcb426e (diff) | |
| download | homebrew-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.rb | 13 |
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 |
