Only install default cask tap automatically on macOS.
This commit is contained in:
parent
e0aa934219
commit
9649ef975c
@ -167,7 +167,7 @@ module Cask
|
|||||||
|
|
||||||
args = self.class.parser.parse(argv, ignore_invalid_options: true)
|
args = self.class.parser.parse(argv, ignore_invalid_options: true)
|
||||||
|
|
||||||
Tap.default_cask_tap.install unless Tap.default_cask_tap.installed?
|
Tap.install_default_cask_tap_if_necessary
|
||||||
|
|
||||||
command, argv = detect_internal_command(*argv) ||
|
command, argv = detect_internal_command(*argv) ||
|
||||||
detect_external_command(*argv) ||
|
detect_external_command(*argv) ||
|
||||||
|
|||||||
@ -97,11 +97,7 @@ module Homebrew
|
|||||||
begin
|
begin
|
||||||
return Cask::CaskLoader.load(name, config: Cask::Config.from_args(@parent))
|
return Cask::CaskLoader.load(name, config: Cask::Config.from_args(@parent))
|
||||||
rescue Cask::CaskUnavailableError => e
|
rescue Cask::CaskUnavailableError => e
|
||||||
default_cask_tap = Tap.default_cask_tap
|
retry if Tap.install_default_cask_tap_if_necessary
|
||||||
unless default_cask_tap.installed?
|
|
||||||
default_cask_tap.install
|
|
||||||
retry
|
|
||||||
end
|
|
||||||
|
|
||||||
raise e if only == :cask
|
raise e if only == :cask
|
||||||
end
|
end
|
||||||
|
|||||||
@ -560,10 +560,10 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def check_casktap_git_origin
|
def check_casktap_git_origin
|
||||||
cask_tap = Tap.default_cask_tap
|
default_cask_tap = Tap.default_cask_tap
|
||||||
return unless cask_tap.installed?
|
return unless default_cask_tap.installed?
|
||||||
|
|
||||||
examine_git_origin(cask_tap.path, cask_tap.remote)
|
examine_git_origin(default_cask_tap.path, default_cask_tap.remote)
|
||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(T.nilable(String)) }
|
sig { returns(T.nilable(String)) }
|
||||||
@ -921,12 +921,12 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
def check_cask_taps
|
def check_cask_taps
|
||||||
default_tap = Tap.default_cask_tap
|
default_cask_tap = Tap.default_cask_tap
|
||||||
alt_taps = Tap.select { |t| t.cask_dir.exist? && t != default_tap }
|
alt_taps = Tap.select { |t| t.cask_dir.exist? && t != default_cask_tap }
|
||||||
|
|
||||||
error_tap_paths = []
|
error_tap_paths = []
|
||||||
|
|
||||||
add_info "Homebrew Cask Taps:", ([default_tap, *alt_taps].map do |tap|
|
add_info "Homebrew Cask Taps:", ([default_cask_tap, *alt_taps].map do |tap|
|
||||||
if tap.path.blank?
|
if tap.path.blank?
|
||||||
none_string
|
none_string
|
||||||
else
|
else
|
||||||
|
|||||||
11
Library/Homebrew/extend/os/mac/tap.rb
Normal file
11
Library/Homebrew/extend/os/mac/tap.rb
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Tap
|
||||||
|
def self.install_default_cask_tap_if_necessary
|
||||||
|
return false if default_cask_tap.installed?
|
||||||
|
|
||||||
|
default_cask_tap.install
|
||||||
|
true
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -2,3 +2,4 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require "extend/os/linux/tap" if OS.linux?
|
require "extend/os/linux/tap" if OS.linux?
|
||||||
|
require "extend/os/mac/tap" if OS.mac?
|
||||||
|
|||||||
@ -60,10 +60,16 @@ class Tap
|
|||||||
fetch(match[:user], match[:repo])
|
fetch(match[:user], match[:repo])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { returns(T.attached_class) }
|
||||||
def self.default_cask_tap
|
def self.default_cask_tap
|
||||||
@default_cask_tap ||= fetch("Homebrew", "cask")
|
@default_cask_tap ||= fetch("Homebrew", "cask")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
sig { returns(T::Boolean) }
|
||||||
|
def self.install_default_cask_tap_if_necessary
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
extend Enumerable
|
extend Enumerable
|
||||||
|
|
||||||
# The user name of this {Tap}. Usually, it's the GitHub username of
|
# The user name of this {Tap}. Usually, it's the GitHub username of
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user