mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
tap: warn if tapping core taps under API mode
This commit is contained in:
parent
66fc022106
commit
8d1aabba81
@ -72,7 +72,7 @@ RUN mkdir -p \
|
|||||||
&& ln -s ../Homebrew/bin/brew .linuxbrew/bin/brew \
|
&& ln -s ../Homebrew/bin/brew .linuxbrew/bin/brew \
|
||||||
&& git -C .linuxbrew/Homebrew remote set-url origin https://github.com/Homebrew/brew \
|
&& git -C .linuxbrew/Homebrew remote set-url origin https://github.com/Homebrew/brew \
|
||||||
&& git -C .linuxbrew/Homebrew fetch origin \
|
&& git -C .linuxbrew/Homebrew fetch origin \
|
||||||
&& HOMEBREW_NO_ANALYTICS=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap homebrew/core \
|
&& HOMEBREW_NO_ANALYTICS=1 HOMEBREW_NO_AUTO_UPDATE=1 brew tap --force homebrew/core \
|
||||||
&& brew install-bundler-gems \
|
&& brew install-bundler-gems \
|
||||||
&& brew cleanup \
|
&& brew cleanup \
|
||||||
&& { git -C .linuxbrew/Homebrew config --unset gc.auto; true; } \
|
&& { git -C .linuxbrew/Homebrew config --unset gc.auto; true; } \
|
||||||
|
@ -46,6 +46,8 @@ module Homebrew
|
|||||||
switch "--eval-all",
|
switch "--eval-all",
|
||||||
description: "Evaluate all the formulae, casks and aliases in the new tap to check validity. " \
|
description: "Evaluate all the formulae, casks and aliases in the new tap to check validity. " \
|
||||||
"Implied if `HOMEBREW_EVAL_ALL` is set."
|
"Implied if `HOMEBREW_EVAL_ALL` is set."
|
||||||
|
switch "--force",
|
||||||
|
description: "Force install core taps even under API mode."
|
||||||
|
|
||||||
named_args :tap, max: 2
|
named_args :tap, max: 2
|
||||||
end
|
end
|
||||||
@ -69,7 +71,8 @@ module Homebrew
|
|||||||
force_auto_update: args.force_auto_update?,
|
force_auto_update: args.force_auto_update?,
|
||||||
custom_remote: args.custom_remote?,
|
custom_remote: args.custom_remote?,
|
||||||
quiet: args.quiet?,
|
quiet: args.quiet?,
|
||||||
verify: args.eval_all? || Homebrew::EnvConfig.eval_all?
|
verify: args.eval_all? || Homebrew::EnvConfig.eval_all?,
|
||||||
|
force: args.force?
|
||||||
rescue TapRemoteMismatchError, TapNoCustomRemoteError => e
|
rescue TapRemoteMismatchError, TapNoCustomRemoteError => e
|
||||||
odie e
|
odie e
|
||||||
rescue TapAlreadyTappedError
|
rescue TapAlreadyTappedError
|
||||||
|
@ -253,7 +253,9 @@ class Tap
|
|||||||
# @param quiet [Boolean] If set, suppress all output.
|
# @param quiet [Boolean] If set, suppress all output.
|
||||||
# @param custom_remote [Boolean] If set, change the tap's remote if already installed.
|
# @param custom_remote [Boolean] If set, change the tap's remote if already installed.
|
||||||
# @param verify [Boolean] If set, verify all the formula, casks and aliases in the tap are valid.
|
# @param verify [Boolean] If set, verify all the formula, casks and aliases in the tap are valid.
|
||||||
def install(quiet: false, clone_target: nil, force_auto_update: nil, custom_remote: false, verify: false)
|
# @param force [Boolean] If set, force core and cask taps to install even under API mode.
|
||||||
|
def install(quiet: false, clone_target: nil, force_auto_update: nil,
|
||||||
|
custom_remote: false, verify: false, force: false)
|
||||||
require "descriptions"
|
require "descriptions"
|
||||||
require "readall"
|
require "readall"
|
||||||
|
|
||||||
@ -297,6 +299,10 @@ class Tap
|
|||||||
args << "-q" if quiet
|
args << "-q" if quiet
|
||||||
path.cd { safe_system "git", *args }
|
path.cd { safe_system "git", *args }
|
||||||
return
|
return
|
||||||
|
elsif (core_tap? || name == "homebrew/cask") && !Homebrew::EnvConfig.no_install_from_api? && !force
|
||||||
|
# odeprecated: move to odie in the next minor release. This may break some CI so we should give notice.
|
||||||
|
opoo "Tapping #{name} is no longer typically necessary.\n" \
|
||||||
|
"Add #{Formatter.option("--force")} if you are sure you need one."
|
||||||
end
|
end
|
||||||
|
|
||||||
clear_cache
|
clear_cache
|
||||||
@ -898,7 +904,8 @@ class CoreTap < Tap
|
|||||||
end
|
end
|
||||||
|
|
||||||
# CoreTap never allows shallow clones (on request from GitHub).
|
# CoreTap never allows shallow clones (on request from GitHub).
|
||||||
def install(quiet: false, clone_target: nil, force_auto_update: nil, custom_remote: false, verify: false)
|
def install(quiet: false, clone_target: nil, force_auto_update: nil,
|
||||||
|
custom_remote: false, verify: false, force: false)
|
||||||
remote = Homebrew::EnvConfig.core_git_remote # set by HOMEBREW_CORE_GIT_REMOTE
|
remote = Homebrew::EnvConfig.core_git_remote # set by HOMEBREW_CORE_GIT_REMOTE
|
||||||
requested_remote = clone_target || remote
|
requested_remote = clone_target || remote
|
||||||
|
|
||||||
@ -909,7 +916,8 @@ class CoreTap < Tap
|
|||||||
$stderr.puts "HOMEBREW_CORE_GIT_REMOTE set: using #{remote} as the Homebrew/homebrew-core Git remote."
|
$stderr.puts "HOMEBREW_CORE_GIT_REMOTE set: using #{remote} as the Homebrew/homebrew-core Git remote."
|
||||||
end
|
end
|
||||||
|
|
||||||
super(quiet: quiet, clone_target: remote, force_auto_update: force_auto_update, custom_remote: custom_remote)
|
super(quiet: quiet, clone_target: remote, force_auto_update: force_auto_update,
|
||||||
|
custom_remote: custom_remote, force: force)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @private
|
# @private
|
||||||
|
@ -2081,6 +2081,7 @@ _brew_tap() {
|
|||||||
--custom-remote
|
--custom-remote
|
||||||
--debug
|
--debug
|
||||||
--eval-all
|
--eval-all
|
||||||
|
--force
|
||||||
--force-auto-update
|
--force-auto-update
|
||||||
--help
|
--help
|
||||||
--list-pinned
|
--list-pinned
|
||||||
|
@ -1395,6 +1395,7 @@ __fish_brew_complete_cmd 'tap' 'Tap a formula repository'
|
|||||||
__fish_brew_complete_arg 'tap' -l custom-remote -d 'Install or change a tap with a custom remote. Useful for mirrors'
|
__fish_brew_complete_arg 'tap' -l custom-remote -d 'Install or change a tap with a custom remote. Useful for mirrors'
|
||||||
__fish_brew_complete_arg 'tap' -l debug -d 'Display any debugging information'
|
__fish_brew_complete_arg 'tap' -l debug -d 'Display any debugging information'
|
||||||
__fish_brew_complete_arg 'tap' -l eval-all -d 'Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set'
|
__fish_brew_complete_arg 'tap' -l eval-all -d 'Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set'
|
||||||
|
__fish_brew_complete_arg 'tap' -l force -d 'Force install core taps even under API mode'
|
||||||
__fish_brew_complete_arg 'tap' -l force-auto-update -d 'Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons)'
|
__fish_brew_complete_arg 'tap' -l force-auto-update -d 'Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons)'
|
||||||
__fish_brew_complete_arg 'tap' -l help -d 'Show this message'
|
__fish_brew_complete_arg 'tap' -l help -d 'Show this message'
|
||||||
__fish_brew_complete_arg 'tap' -l list-pinned -d 'List all pinned taps'
|
__fish_brew_complete_arg 'tap' -l list-pinned -d 'List all pinned taps'
|
||||||
|
@ -1721,6 +1721,7 @@ _brew_tap() {
|
|||||||
'--custom-remote[Install or change a tap with a custom remote. Useful for mirrors]' \
|
'--custom-remote[Install or change a tap with a custom remote. Useful for mirrors]' \
|
||||||
'--debug[Display any debugging information]' \
|
'--debug[Display any debugging information]' \
|
||||||
'--eval-all[Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set]' \
|
'--eval-all[Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set]' \
|
||||||
|
'--force[Force install core taps even under API mode]' \
|
||||||
'--force-auto-update[Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons)]' \
|
'--force-auto-update[Auto-update tap even if it is not hosted on GitHub. By default, only taps hosted on GitHub are auto-updated (for performance reasons)]' \
|
||||||
'--help[Show this message]' \
|
'--help[Show this message]' \
|
||||||
'--list-pinned[List all pinned taps]' \
|
'--list-pinned[List all pinned taps]' \
|
||||||
|
@ -692,6 +692,8 @@ using protocols other than HTTPS, e.g. SSH, git, HTTP, FTP(S), rsync.
|
|||||||
List all pinned taps.
|
List all pinned taps.
|
||||||
* `--eval-all`:
|
* `--eval-all`:
|
||||||
Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set.
|
Evaluate all the formulae, casks and aliases in the new tap to check validity. Implied if `HOMEBREW_EVAL_ALL` is set.
|
||||||
|
* `--force`:
|
||||||
|
Force install core taps even under API mode.
|
||||||
|
|
||||||
### `tap-info` [`--installed`] [`--json`] [*`tap`* ...]
|
### `tap-info` [`--installed`] [`--json`] [*`tap`* ...]
|
||||||
|
|
||||||
|
@ -973,6 +973,10 @@ List all pinned taps\.
|
|||||||
\fB\-\-eval\-all\fR
|
\fB\-\-eval\-all\fR
|
||||||
Evaluate all the formulae, casks and aliases in the new tap to check validity\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
|
Evaluate all the formulae, casks and aliases in the new tap to check validity\. Implied if \fBHOMEBREW_EVAL_ALL\fR is set\.
|
||||||
.
|
.
|
||||||
|
.TP
|
||||||
|
\fB\-\-force\fR
|
||||||
|
Force install core taps even under API mode\.
|
||||||
|
.
|
||||||
.SS "\fBtap\-info\fR [\fB\-\-installed\fR] [\fB\-\-json\fR] [\fItap\fR \.\.\.]"
|
.SS "\fBtap\-info\fR [\fB\-\-installed\fR] [\fB\-\-json\fR] [\fItap\fR \.\.\.]"
|
||||||
Show detailed information about one or more \fItap\fRs\.
|
Show detailed information about one or more \fItap\fRs\.
|
||||||
.
|
.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user