Ignore FormulaUnreadableError in Formula.each.

This commit is contained in:
Markus Reiter 2020-09-03 19:34:25 +02:00
parent 5ce013b0d0
commit 8fb769e60c
2 changed files with 7 additions and 9 deletions

View File

@ -1460,14 +1460,12 @@ class Formula
# @private # @private
def self.each def self.each
files.each do |file| files.each do |file|
yield begin yield Formulary.factory(file)
Formulary.factory(file) rescue FormulaUnavailableError, FormulaUnreadableError => e
rescue FormulaUnavailableError => e # Don't let one broken formula break commands. But do complain.
# Don't let one broken formula break commands. But do complain. onoe "Failed to import: #{file}"
onoe "Failed to import: #{file}" $stderr.puts e
puts e next
next
end
end end
end end

View File

@ -42,7 +42,7 @@ module Formulary
# access them from within the formula's class scope. # access them from within the formula's class scope.
mod.const_set(:BUILD_FLAGS, flags) mod.const_set(:BUILD_FLAGS, flags)
mod.module_eval(contents, path) mod.module_eval(contents, path)
rescue NameError, ArgumentError, ScriptError => e rescue NameError, ArgumentError, ScriptError, MethodDeprecatedError => e
$stderr.puts e.backtrace if Homebrew::EnvConfig.developer? $stderr.puts e.backtrace if Homebrew::EnvConfig.developer?
raise FormulaUnreadableError.new(name, e) raise FormulaUnreadableError.new(name, e)
end end