Merge pull request #1485 from MikeMcQuaid/less-tap-migrate-warnings

formulary: don't warn on old formula name from keg/rack.
This commit is contained in:
Mike McQuaid 2016-11-12 10:38:03 +00:00 committed by GitHub
commit fe9ce9ffce
2 changed files with 14 additions and 12 deletions

View File

@ -158,8 +158,9 @@ class Formulary
class TapLoader < FormulaLoader
attr_reader :tap
def initialize(tapped_name)
name, path = formula_name_path(tapped_name)
def initialize(tapped_name, from: nil)
warn = ![:keg, :rack].include?(from)
name, path = formula_name_path(tapped_name, warn: warn)
super name, path
end
@ -236,8 +237,8 @@ class Formulary
# * a formula pathname
# * a formula URL
# * a local bottle reference
def self.factory(ref, spec = :stable, alias_path: nil)
loader_for(ref).get_formula(spec, alias_path: alias_path)
def self.factory(ref, spec = :stable, alias_path: nil, from: nil)
loader_for(ref, from: from).get_formula(spec, alias_path: alias_path)
end
# Return a Formula instance for the given rack.
@ -253,7 +254,7 @@ class Formulary
if keg
from_keg(keg, spec, alias_path: alias_path)
else
factory(rack.basename.to_s, spec || :stable, alias_path: alias_path)
factory(rack.basename.to_s, spec || :stable, alias_path: alias_path, from: :rack)
end
end
@ -265,13 +266,13 @@ class Formulary
spec ||= tab.spec
f = if tap.nil?
factory(keg.rack.basename.to_s, spec, alias_path: alias_path)
factory(keg.rack.basename.to_s, spec, alias_path: alias_path, from: :keg)
else
begin
factory("#{tap}/#{keg.rack.basename}", spec, alias_path: alias_path)
factory("#{tap}/#{keg.rack.basename}", spec, alias_path: alias_path, from: :keg)
rescue FormulaUnavailableError
# formula may be migrated to different tap. Try to search in core and all taps.
factory(keg.rack.basename.to_s, spec, alias_path: alias_path)
factory(keg.rack.basename.to_s, spec, alias_path: alias_path, from: :keg)
end
end
f.build = tab
@ -309,14 +310,14 @@ class Formulary
loader_for(ref).path
end
def self.loader_for(ref)
def self.loader_for(ref, from: nil)
case ref
when %r{(https?|ftp|file)://}
return FromUrlLoader.new(ref)
when Pathname::BOTTLE_EXTNAME_RX
return BottleLoader.new(ref)
when HOMEBREW_TAP_FORMULA_REGEX
return TapLoader.new(ref)
return TapLoader.new(ref, from: from)
end
return FromPathLoader.new(ref) if File.extname(ref) == ".rb"
@ -359,7 +360,7 @@ class Formulary
end
unless possible_tap_newname_formulae.empty?
return TapLoader.new(possible_tap_newname_formulae.first)
return TapLoader.new(possible_tap_newname_formulae.first, from: from)
end
possible_cached_formula = Pathname.new("#{HOMEBREW_CACHE_FORMULA}/#{ref}.rb")

View File

@ -119,7 +119,8 @@ module Homebrew
def stub_formula_loader(formula, ref = formula.full_name)
loader = mock
loader.stubs(:get_formula).returns(formula)
Formulary.stubs(:loader_for).with(ref).returns(loader)
Formulary.stubs(:loader_for).with(ref, from: :keg).returns(loader)
Formulary.stubs(:loader_for).with(ref, from: nil).returns(loader)
end
end
end