| # test go get -tool |
| go get -tool example.com/tools/cmd/hello@v1.0.0 |
| cmp go.mod go.mod.want |
| |
| go get -u tool |
| cmp go.mod go.mod.upgraded |
| |
| # test -tool with @none |
| go get -tool example.com/tools/cmd/hello@none |
| cmp go.mod go.mod.gone |
| |
| go mod tidy |
| cmp go.mod go.mod.empty |
| |
| # test -tool with wildcards |
| go get -tool ./cmd/... |
| cmp go.mod go.mod.wildcard |
| ! go get -tool ./cmd/...@none |
| stderr 'can''t request explicit version "none" of path "./cmd/..." in main module' |
| |
| # test -tool with all |
| ! go get -tool all |
| stderr 'go get -tool does not work with "all"' |
| |
| # test tool@none |
| ! go get tool@none |
| stderr 'can''t request explicit version of "tool" pattern' |
| |
| -- main.go -- |
| package main |
| |
| func main() {} |
| |
| -- go.mod -- |
| module example.com/foo |
| go 1.24 |
| |
| -- go.mod.want -- |
| module example.com/foo |
| |
| go 1.24 |
| |
| tool example.com/tools/cmd/hello |
| |
| require example.com/tools v1.0.0 // indirect |
| -- go.mod.upgraded -- |
| module example.com/foo |
| |
| go 1.24 |
| |
| tool example.com/tools/cmd/hello |
| |
| require example.com/tools v1.1.0 // indirect |
| -- go.mod.gone -- |
| module example.com/foo |
| |
| go 1.24 |
| |
| require example.com/tools v1.1.0 // indirect |
| -- go.mod.empty -- |
| module example.com/foo |
| |
| go 1.24 |
| -- go.mod.wildcard -- |
| module example.com/foo |
| |
| go 1.24 |
| |
| tool ( |
| example.com/foo/cmd/a |
| example.com/foo/cmd/b |
| ) |
| -- cmd/a/a.go -- |
| package a |
| |
| func main() {} |
| |
| -- cmd/b/b.go -- |
| package b |
| |
| func main() {} |