Merge pull request #10831 from nandahkrishna/cask-autotap
cask_loader: do not auto-tap in FromTapLoader
This commit is contained in:
commit
1e3dab1401
@ -157,7 +157,7 @@ module Cask
|
|||||||
end
|
end
|
||||||
|
|
||||||
def load(config:)
|
def load(config:)
|
||||||
tap.install unless tap.installed?
|
raise TapCaskUnavailableError.new(tap, token) unless tap.installed?
|
||||||
|
|
||||||
super
|
super
|
||||||
end
|
end
|
||||||
|
|||||||
@ -103,6 +103,27 @@ module Cask
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Error when a cask in a specific tap is not available.
|
||||||
|
#
|
||||||
|
# @api private
|
||||||
|
class TapCaskUnavailableError < CaskUnavailableError
|
||||||
|
extend T::Sig
|
||||||
|
|
||||||
|
attr_reader :tap
|
||||||
|
|
||||||
|
def initialize(tap, token)
|
||||||
|
super("#{tap}/#{token}")
|
||||||
|
@tap = tap
|
||||||
|
end
|
||||||
|
|
||||||
|
sig { returns(String) }
|
||||||
|
def to_s
|
||||||
|
s = super
|
||||||
|
s += "\nPlease tap it and then try again: brew tap #{tap}" unless tap.installed?
|
||||||
|
s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Error when a cask already exists.
|
# Error when a cask already exists.
|
||||||
#
|
#
|
||||||
# @api private
|
# @api private
|
||||||
|
|||||||
@ -132,6 +132,12 @@ module Homebrew
|
|||||||
|
|
||||||
raise unreadable_error if unreadable_error.present?
|
raise unreadable_error if unreadable_error.present?
|
||||||
|
|
||||||
|
user, repo, short_name = name.downcase.split("/", 3)
|
||||||
|
if repo.present? && short_name.present?
|
||||||
|
tap = Tap.fetch(user, repo)
|
||||||
|
raise TapFormulaOrCaskUnavailableError.new(tap, short_name)
|
||||||
|
end
|
||||||
|
|
||||||
raise FormulaOrCaskUnavailableError, name
|
raise FormulaOrCaskUnavailableError, name
|
||||||
end
|
end
|
||||||
private :load_formula_or_cask
|
private :load_formula_or_cask
|
||||||
|
|||||||
@ -97,6 +97,25 @@ class FormulaOrCaskUnavailableError < RuntimeError
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Raised when a formula or cask in a specific tap is not available.
|
||||||
|
class TapFormulaOrCaskUnavailableError < FormulaOrCaskUnavailableError
|
||||||
|
extend T::Sig
|
||||||
|
|
||||||
|
attr_reader :tap
|
||||||
|
|
||||||
|
def initialize(tap, name)
|
||||||
|
super "#{tap}/#{name}"
|
||||||
|
@tap = tap
|
||||||
|
end
|
||||||
|
|
||||||
|
sig { returns(String) }
|
||||||
|
def to_s
|
||||||
|
s = super
|
||||||
|
s += "\nPlease tap it and then try again: brew tap #{tap}" unless tap.installed?
|
||||||
|
s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Raised when a formula is not available.
|
# Raised when a formula is not available.
|
||||||
class FormulaUnavailableError < FormulaOrCaskUnavailableError
|
class FormulaUnavailableError < FormulaOrCaskUnavailableError
|
||||||
extend T::Sig
|
extend T::Sig
|
||||||
|
|||||||
@ -34,6 +34,14 @@ describe "Exception" do
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe TapFormulaOrCaskUnavailableError do
|
||||||
|
subject(:error) { described_class.new(tap, "foo") }
|
||||||
|
|
||||||
|
let(:tap) { double(Tap, user: "u", repo: "r", to_s: "u/r", installed?: false) }
|
||||||
|
|
||||||
|
its(:to_s) { is_expected.to match(%r{Please tap it and then try again: brew tap u/r}) }
|
||||||
|
end
|
||||||
|
|
||||||
describe FormulaUnavailableError do
|
describe FormulaUnavailableError do
|
||||||
subject(:error) { described_class.new("foo") }
|
subject(:error) { described_class.new("foo") }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user