Only install default cask tap automatically on macOS.

This commit is contained in:
Markus Reiter 2020-12-05 03:25:50 +01:00
parent e0aa934219
commit 9649ef975c
6 changed files with 26 additions and 12 deletions

View File

@ -167,7 +167,7 @@ module Cask
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) ||
detect_external_command(*argv) ||

View File

@ -97,11 +97,7 @@ module Homebrew
begin
return Cask::CaskLoader.load(name, config: Cask::Config.from_args(@parent))
rescue Cask::CaskUnavailableError => e
default_cask_tap = Tap.default_cask_tap
unless default_cask_tap.installed?
default_cask_tap.install
retry
end
retry if Tap.install_default_cask_tap_if_necessary
raise e if only == :cask
end

View File

@ -560,10 +560,10 @@ module Homebrew
end
def check_casktap_git_origin
cask_tap = Tap.default_cask_tap
return unless cask_tap.installed?
default_cask_tap = Tap.default_cask_tap
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
sig { returns(T.nilable(String)) }
@ -921,12 +921,12 @@ module Homebrew
end
def check_cask_taps
default_tap = Tap.default_cask_tap
alt_taps = Tap.select { |t| t.cask_dir.exist? && t != default_tap }
default_cask_tap = Tap.default_cask_tap
alt_taps = Tap.select { |t| t.cask_dir.exist? && t != default_cask_tap }
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?
none_string
else

View 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

View File

@ -2,3 +2,4 @@
# frozen_string_literal: true
require "extend/os/linux/tap" if OS.linux?
require "extend/os/mac/tap" if OS.mac?

View File

@ -60,10 +60,16 @@ class Tap
fetch(match[:user], match[:repo])
end
sig { returns(T.attached_class) }
def self.default_cask_tap
@default_cask_tap ||= fetch("Homebrew", "cask")
end
sig { returns(T::Boolean) }
def self.install_default_cask_tap_if_necessary
false
end
extend Enumerable
# The user name of this {Tap}. Usually, it's the GitHub username of