named args: Print correct cask ref when name is resolved as formula/keg

This commit is contained in:
William Ma 2020-08-25 09:23:27 -04:00
parent d3e22f401b
commit d32be75ec0

View File

@ -29,7 +29,7 @@ module Homebrew
downcased_unique_named.each do |name| downcased_unique_named.each do |name|
formulae_and_casks << Formulary.factory(name, spec) formulae_and_casks << Formulary.factory(name, spec)
puts "Treating #{name} as a formula. For the cask, use homebrew/cask/#{name}" if cask_exists_with_ref name warn_if_cask_conflicts(name, "formula")
rescue FormulaUnavailableError rescue FormulaUnavailableError
begin begin
formulae_and_casks << Cask::CaskLoader.load(name) formulae_and_casks << Cask::CaskLoader.load(name)
@ -56,7 +56,7 @@ module Homebrew
downcased_unique_named.each do |name| downcased_unique_named.each do |name|
resolved_formulae << Formulary.resolve(name, spec: spec(nil), force_bottle: @force_bottle, flags: @flags) resolved_formulae << Formulary.resolve(name, spec: spec(nil), force_bottle: @force_bottle, flags: @flags)
puts "Treating #{name} as a formula. For the cask, use homebrew/cask/#{name}" if cask_exists_with_ref name warn_if_cask_conflicts(name, "formula")
rescue FormulaUnavailableError rescue FormulaUnavailableError
begin begin
casks << Cask::CaskLoader.load(name) casks << Cask::CaskLoader.load(name)
@ -98,7 +98,7 @@ module Homebrew
downcased_unique_named.each do |name| downcased_unique_named.each do |name|
kegs << resolve_keg(name) kegs << resolve_keg(name)
puts "Treating #{name} as a keg. For the cask, use homebrew/cask/#{name}" if cask_exists_with_ref name warn_if_cask_conflicts(name, "keg")
rescue NoSuchKegError, FormulaUnavailableError rescue NoSuchKegError, FormulaUnavailableError
begin begin
casks << Cask::CaskLoader.load(name) casks << Cask::CaskLoader.load(name)
@ -174,10 +174,12 @@ module Homebrew
end end
end end
def cask_exists_with_ref(ref) def warn_if_cask_conflicts(ref, loaded_type)
Cask::CaskLoader.load ref cask = Cask::CaskLoader.load ref
puts "Treating #{ref} as a #{loaded_type}. For the cask, use #{cask.tap.name}/#{cask.token}"
rescue Cask::CaskUnavailableError rescue Cask::CaskUnavailableError
false # No ref conflict with a cask, do nothing
end end
end end
end end