src/make.*: make --no-clean flag a no-op that prints a warning

This flag is undocumented and is no longer useful. Users who want to
install additional toolchains without cleaning the installed packages
should just use `go install`.

This CL changes cmd/dist to print a warning that --no-clean is
deprecated and to advise users to use `go install std cmd` instead,
and then otherwise ignores it:

```
$ ./make.bash --no-clean
Building Go cmd/dist using $GOROOT_BOOTSTRAP. (devel +b7a85e0003 linux/amd64)
warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead
Building Go toolchain1 using $GOROOT_BOOTSTRAP.
```

Fixes #47204.

Change-Id: I275031832098401a49e491e324e8de3427973630
Reviewed-on: https://go-review.googlesource.com/c/go/+/341392
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Matthew Dempsky 2021-08-11 12:40:12 -07:00
parent d4c0ed26ac
commit dea23e9ca8
4 changed files with 18 additions and 24 deletions

View file

@ -1263,14 +1263,19 @@ func cmdbootstrap() {
timelog("start", "dist bootstrap") timelog("start", "dist bootstrap")
defer timelog("end", "dist bootstrap") defer timelog("end", "dist bootstrap")
var noBanner bool var noBanner, noClean bool
var debug bool var debug bool
flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process") flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner") flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning")
xflagparse(0) xflagparse(0)
if noClean {
xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
}
// Set GOPATH to an internal directory. We shouldn't actually // Set GOPATH to an internal directory. We shouldn't actually
// need to store files here, since the toolchain won't // need to store files here, since the toolchain won't
// depend on modules outside of vendor directories, but if // depend on modules outside of vendor directories, but if

View file

@ -203,16 +203,10 @@ if [ "$1" = "--dist-tool" ]; then
exit 0 exit 0
fi fi
buildall="-a"
if [ "$1" = "--no-clean" ]; then
buildall=""
shift
fi
# Run dist bootstrap to complete make.bash. # Run dist bootstrap to complete make.bash.
# Bootstrap installs a proper cmd/dist, built with the new toolchain. # Bootstrap installs a proper cmd/dist, built with the new toolchain.
# Throw ours, built with Go 1.4, away after bootstrap. # Throw ours, built with Go 1.4, away after bootstrap.
./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" ./cmd/dist/dist bootstrap -a $vflag $GO_DISTFLAGS "$@"
rm -f ./cmd/dist/dist rm -f ./cmd/dist/dist
# DO NOT ADD ANY NEW CODE HERE. # DO NOT ADD ANY NEW CODE HERE.

View file

@ -112,20 +112,20 @@ if x%2==x--dist-tool goto copydist
if x%3==x--dist-tool goto copydist if x%3==x--dist-tool goto copydist
if x%4==x--dist-tool goto copydist if x%4==x--dist-tool goto copydist
set buildall=-a set bootstrapflags=
if x%1==x--no-clean set buildall= if x%1==x--no-clean set bootstrapflags=--no-clean
if x%2==x--no-clean set buildall= if x%2==x--no-clean set bootstrapflags=--no-clean
if x%3==x--no-clean set buildall= if x%3==x--no-clean set bootstrapflags=--no-clean
if x%4==x--no-clean set buildall= if x%4==x--no-clean set bootstrapflags=--no-clean
if x%1==x--no-banner set buildall=%buildall% --no-banner if x%1==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner
if x%2==x--no-banner set buildall=%buildall% --no-banner if x%2==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner
if x%3==x--no-banner set buildall=%buildall% --no-banner if x%3==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner
if x%4==x--no-banner set buildall=%buildall% --no-banner if x%4==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner
:: Run dist bootstrap to complete make.bash. :: Run dist bootstrap to complete make.bash.
:: Bootstrap installs a proper cmd/dist, built with the new toolchain. :: Bootstrap installs a proper cmd/dist, built with the new toolchain.
:: Throw ours, built with Go 1.4, away after bootstrap. :: Throw ours, built with Go 1.4, away after bootstrap.
.\cmd\dist\dist.exe bootstrap %vflag% %buildall% .\cmd\dist\dist.exe bootstrap -a %vflag% %bootstrapflags%
if errorlevel 1 goto fail if errorlevel 1 goto fail
del .\cmd\dist\dist.exe del .\cmd\dist\dist.exe
goto end goto end

View file

@ -92,15 +92,10 @@ if(~ $1 --dist-tool){
exit exit
} }
buildall = -a
if(~ $1 --no-clean) {
buildall = ()
shift
}
# Run dist bootstrap to complete make.bash. # Run dist bootstrap to complete make.bash.
# Bootstrap installs a proper cmd/dist, built with the new toolchain. # Bootstrap installs a proper cmd/dist, built with the new toolchain.
# Throw ours, built with Go 1.4, away after bootstrap. # Throw ours, built with Go 1.4, away after bootstrap.
./cmd/dist/dist bootstrap $vflag $buildall $* ./cmd/dist/dist bootstrap -a $vflag $*
rm -f ./cmd/dist/dist rm -f ./cmd/dist/dist
# DO NOT ADD ANY NEW CODE HERE. # DO NOT ADD ANY NEW CODE HERE.