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:
commit
fe9ce9ffce
@ -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")
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user