cmd/dist may set and/or unset variables before building, and at any
rate it is fragile to run 'go install' before sourcing env.bat.
The build-stamp information embedded by the 'go' command is currently
sensitive to whether CGO_* variables are implicit or explicit, so running
'go install' before env.bat may cause stamped metadata to become stale.
(Explicitly setting to the default arguably ought to produce the same
metadata as leaving the variables unset, but that's a separate issue
and a bigger cleanup.)
Moreover, run.bat is supposed to parallel run.bash, and run.bash
already hasn't invoked 'go install' itself since CL 6531!
For #52009
Change-Id: Ie35217913f02cc7e0c3f9b12874abd7416473478
Reviewed-on: https://go-review.googlesource.com/c/go/+/398060
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
set GOFLAGS=\r
set GO111MODULE=\r
\r
-rem TODO avoid rebuild if possible\r
-\r
-if x%1==x--no-rebuild goto norebuild\r
-echo ##### Building packages and commands.\r
-..\bin\go install -a -v std cmd\r
-if errorlevel 1 goto fail\r
-echo.\r
-:norebuild\r
-\r
:: get CGO_ENABLED\r
..\bin\go env > env.bat\r
if errorlevel 1 goto fail\r
call env.bat\r
del env.bat\r
-echo.\r
\r
-..\bin\go tool dist test\r
+if x%1==x--no-rebuild goto norebuild\r
+..\bin\go tool dist test --rebuild\r
if errorlevel 1 goto fail\r
-echo.\r
+goto end\r
\r
+:norebuild\r
+..\bin\go tool dist test\r
+if errorlevel 1 goto fail\r
goto end\r
\r
:fail\r