]> Cypherpunks repositories - gostls13.git/commitdiff
src/make.*: make --no-clean flag a no-op that prints a warning
authorMatthew Dempsky <mdempsky@google.com>
Wed, 11 Aug 2021 19:40:12 +0000 (12:40 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Wed, 11 Aug 2021 22:07:50 +0000 (22:07 +0000)
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>
src/cmd/dist/build.go
src/make.bash
src/make.bat
src/make.rc

index 1abb03bcc56b2a881df3b82fcd81481a28f173d1..bec17696f3040acd6f78750f3306c1d3bbeba102 100644 (file)
@@ -1263,14 +1263,19 @@ func cmdbootstrap() {
        timelog("start", "dist bootstrap")
        defer timelog("end", "dist bootstrap")
 
-       var noBanner bool
+       var noBanner, noClean bool
        var debug bool
        flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
        flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
        flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
+       flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning")
 
        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
        // need to store files here, since the toolchain won't
        // depend on modules outside of vendor directories, but if
index f5e1b60bd5f0c6fc8ec2f96eeba42762445cb56f..7986125a06ffc652016aef3252a24f6337379ea9 100755 (executable)
@@ -203,16 +203,10 @@ if [ "$1" = "--dist-tool" ]; then
        exit 0
 fi
 
-buildall="-a"
-if [ "$1" = "--no-clean" ]; then
-       buildall=""
-       shift
-fi
-
 # Run dist bootstrap to complete make.bash.
 # Bootstrap installs a proper cmd/dist, built with the new toolchain.
 # 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
 
 # DO NOT ADD ANY NEW CODE HERE.
index b4a8e7084905e5487559779842596f35d89335e0..8f2825b09a935fe36cc6cb67baa230eeed9e5977 100644 (file)
@@ -112,20 +112,20 @@ if x%2==x--dist-tool goto copydist
 if x%3==x--dist-tool goto copydist\r
 if x%4==x--dist-tool goto copydist\r
 \r
-set buildall=-a\r
-if x%1==x--no-clean set buildall=\r
-if x%2==x--no-clean set buildall=\r
-if x%3==x--no-clean set buildall=\r
-if x%4==x--no-clean set buildall=\r
-if x%1==x--no-banner set buildall=%buildall% --no-banner\r
-if x%2==x--no-banner set buildall=%buildall% --no-banner\r
-if x%3==x--no-banner set buildall=%buildall% --no-banner\r
-if x%4==x--no-banner set buildall=%buildall% --no-banner\r
+set bootstrapflags=\r
+if x%1==x--no-clean set bootstrapflags=--no-clean\r
+if x%2==x--no-clean set bootstrapflags=--no-clean\r
+if x%3==x--no-clean set bootstrapflags=--no-clean\r
+if x%4==x--no-clean set bootstrapflags=--no-clean\r
+if x%1==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner\r
+if x%2==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner\r
+if x%3==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner\r
+if x%4==x--no-banner set bootstrapflags=%bootstrapflags% --no-banner\r
 \r
 :: Run dist bootstrap to complete make.bash.\r
 :: Bootstrap installs a proper cmd/dist, built with the new toolchain.\r
 :: Throw ours, built with Go 1.4, away after bootstrap.\r
-.\cmd\dist\dist.exe bootstrap %vflag% %buildall%\r
+.\cmd\dist\dist.exe bootstrap -a %vflag% %bootstrapflags%\r
 if errorlevel 1 goto fail\r
 del .\cmd\dist\dist.exe\r
 goto end\r
index f5e57e975561839c3e3c1ac7bd24e5d03b2219b6..7bdc7dea1c1eefde25478f71b970b2466512b41c 100755 (executable)
@@ -92,15 +92,10 @@ if(~ $1 --dist-tool){
        exit
 }
 
-buildall = -a
-if(~ $1 --no-clean) {
-       buildall = ()
-       shift
-}
 # Run dist bootstrap to complete make.bash.
 # Bootstrap installs a proper cmd/dist, built with the new toolchain.
 # 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
 
 # DO NOT ADD ANY NEW CODE HERE.