diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index d49630e0e6e085cb6aebe8981b362c9d4e9a124c..bae941eede7040f7bc6aebf994e89fd8283cb528 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -86,6 +86,26 @@ class TapFormulaAmbiguityError < RuntimeError end end +class TapFormulaWithOldnameAmbiguityError < RuntimeError + attr_reader :name, :possible_tap_newname_formulae, :taps + + def initialize(name, possible_tap_newname_formulae) + @name = name + @possible_tap_newname_formulae = possible_tap_newname_formulae + + @taps = possible_tap_newname_formulae.map do |newname| + newname =~ HOMEBREW_TAP_FORMULA_REGEX + "#{$1}/#{$2}" + end + + super <<-EOS.undent + Formulae with '#{name}' old name found in multiple taps: #{taps.map { |t| "\n * #{t}" }.join} + + Please use the fully-qualified name e.g. #{taps.first}/#{name} to refer the formula or use its new name. + EOS + end +end + class TapUnavailableError < RuntimeError attr_reader :name