Skip to content

Commit d0b3360

Browse files
authored
Merge pull request #20989 from 5ouma/feat-cmd-bundle-no-go
Add a flag and an environment variable to skip bundling Go packages
2 parents dcd790f + 8203de5 commit d0b3360

File tree

8 files changed

+31
-3
lines changed

8 files changed

+31
-3
lines changed

Library/Homebrew/cmd/bundle.rb

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ class Bundle < AbstractCommand
112112
switch "--no-vscode",
113113
description: "`dump` without VSCode (and forks/variants) extensions.",
114114
env: :bundle_dump_no_vscode
115+
switch "--no-go",
116+
description: "`dump` without Go packages.",
117+
env: :bundle_dump_no_go
115118
switch "--describe",
116119
description: "`dump` adds a description comment above each line, unless the " \
117120
"dependency does not have a description.",
@@ -126,6 +129,8 @@ class Bundle < AbstractCommand
126129

127130
conflicts "--all", "--no-vscode"
128131
conflicts "--vscode", "--no-vscode"
132+
conflicts "--all", "--no-go"
133+
conflicts "--go", "--no-go"
129134
conflicts "--install", "--upgrade"
130135
conflicts "--file", "--global"
131136

@@ -206,6 +211,14 @@ def run
206211
no_type_args
207212
end
208213

214+
go = if args.no_go?
215+
false
216+
elsif args.go?
217+
true
218+
else
219+
no_type_args
220+
end
221+
209222
require "bundle/commands/dump"
210223
Homebrew::Bundle::Commands::Dump.run(
211224
global:, file:, force:,
@@ -216,7 +229,7 @@ def run
216229
casks: args.casks? || no_type_args,
217230
mas: args.mas? || no_type_args,
218231
vscode:,
219-
go: args.go? || no_type_args
232+
go:
220233
)
221234
when "edit"
222235
require "bundle/brewfile"

Library/Homebrew/sorbet/rbi/dsl/homebrew/cmd/bundle.rbi

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Library/Homebrew/test/bundle/dumper_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
Homebrew::Bundle::CaskDumper.reset!
2525
Homebrew::Bundle::MacAppStoreDumper.reset!
2626
Homebrew::Bundle::VscodeExtensionDumper.reset!
27+
Homebrew::Bundle::GoDumper.reset!
2728
Homebrew::Bundle::BrewServices.reset!
2829

2930
chrome = instance_double(Cask::Cask,

completions/bash/brew

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,7 @@ _brew_bundle() {
666666
--help
667667
--install
668668
--mas
669+
--no-go
669670
--no-restart
670671
--no-upgrade
671672
--no-vscode

completions/fish/brew.fish

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,7 @@ __fish_brew_complete_arg 'bundle' -l go -d '`list` or `dump` Go packages'
521521
__fish_brew_complete_arg 'bundle' -l help -d 'Show this message'
522522
__fish_brew_complete_arg 'bundle' -l install -d 'Run `install` before continuing to other operations, e.g. `exec`'
523523
__fish_brew_complete_arg 'bundle' -l mas -d '`list` or `dump` Mac App Store dependencies'
524+
__fish_brew_complete_arg 'bundle' -l no-go -d '`dump` without Go packages. Enabled by default if `$HOMEBREW_BUNDLE_DUMP_NO_GO` is set'
524525
__fish_brew_complete_arg 'bundle' -l no-restart -d '`dump` does not add `restart_service` to formula lines'
525526
__fish_brew_complete_arg 'bundle' -l no-upgrade -d '`install` does not run `brew upgrade` on outdated dependencies. `check` does not check for outdated dependencies. Note they may still be upgraded by `brew install` if needed. Enabled by default if `$HOMEBREW_BUNDLE_NO_UPGRADE` is set'
526527
__fish_brew_complete_arg 'bundle' -l no-vscode -d '`dump` without VSCode (and forks/variants) extensions. Enabled by default if `$HOMEBREW_BUNDLE_DUMP_NO_VSCODE` is set'

completions/zsh/_brew

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -657,7 +657,7 @@ _brew_bump_unversioned_casks() {
657657
# brew bundle
658658
_brew_bundle() {
659659
_arguments \
660-
'(--no-vscode)--all[`list` all dependencies]' \
660+
'(--no-vscode --no-go)--all[`list` all dependencies]' \
661661
'--cask[`list`, `dump` or `cleanup` Homebrew cask dependencies]' \
662662
'--check[Check that all dependencies in the Brewfile are installed before running `exec`, `sh`, or `env`]' \
663663
'--cleanup[`install` performs cleanup operation, same as running `cleanup --force`. Enabled by default if `$HOMEBREW_BUNDLE_INSTALL_CLEANUP` is set and `--global` is passed]' \
@@ -667,10 +667,11 @@ _brew_bundle() {
667667
'--force[`install` runs with `--force`/`--overwrite`. `dump` overwrites an existing `Brewfile`. `cleanup` actually performs its cleanup operations]' \
668668
'--formula[`list`, `dump` or `cleanup` Homebrew formula dependencies]' \
669669
'(--file)--global[Read from or write to the `Brewfile` from `$HOMEBREW_BUNDLE_FILE_GLOBAL` (if set), `${XDG_CONFIG_HOME}/homebrew/Brewfile` (if `$XDG_CONFIG_HOME` is set), `~/.homebrew/Brewfile` or `~/.Brewfile` otherwise]' \
670-
'--go[`list` or `dump` Go packages]' \
670+
'(--no-go)--go[`list` or `dump` Go packages]' \
671671
'--help[Show this message]' \
672672
'(--upgrade)--install[Run `install` before continuing to other operations, e.g. `exec`]' \
673673
'--mas[`list` or `dump` Mac App Store dependencies]' \
674+
'(--all --go)--no-go[`dump` without Go packages. Enabled by default if `$HOMEBREW_BUNDLE_DUMP_NO_GO` is set]' \
674675
'--no-restart[`dump` does not add `restart_service` to formula lines]' \
675676
'--no-upgrade[`install` does not run `brew upgrade` on outdated dependencies. `check` does not check for outdated dependencies. Note they may still be upgraded by `brew install` if needed. Enabled by default if `$HOMEBREW_BUNDLE_NO_UPGRADE` is set]' \
676677
'(--all --vscode)--no-vscode[`dump` without VSCode (and forks/variants) extensions. Enabled by default if `$HOMEBREW_BUNDLE_DUMP_NO_VSCODE` is set]' \

docs/Manpage.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,11 @@ flags which will help with finding keg-only dependencies like `openssl`,
305305
: `dump` without VSCode (and forks/variants) extensions. Enabled by default if
306306
`$HOMEBREW_BUNDLE_DUMP_NO_VSCODE` is set.
307307

308+
`--no-go`
309+
310+
: `dump` without Go packages. Enabled by default if
311+
`$HOMEBREW_BUNDLE_DUMP_NO_GO` is set.
312+
308313
`--describe`
309314

310315
: `dump` adds a description comment above each line, unless the dependency does

manpages/brew.1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,9 @@ Temporarily start services while running the \fBexec\fP or \fBsh\fP command\. En
189189
\fB\-\-no\-vscode\fP
190190
\fBdump\fP without VSCode (and forks/variants) extensions\. Enabled by default if \fB$HOMEBREW_BUNDLE_DUMP_NO_VSCODE\fP is set\.
191191
.TP
192+
\fB\-\-no\-go\fP
193+
\fBdump\fP without Go packages\. Enabled by default if \fB$HOMEBREW_BUNDLE_DUMP_NO_GO\fP is set\.
194+
.TP
192195
\fB\-\-describe\fP
193196
\fBdump\fP adds a description comment above each line, unless the dependency does not have a description\. Enabled by default if \fB$HOMEBREW_BUNDLE_DUMP_DESCRIBE\fP is set\.
194197
.TP

0 commit comments

Comments
 (0)