aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/dist
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/dist')
-rw-r--r--src/cmd/dist/build.go15
-rw-r--r--src/cmd/dist/test.go3
2 files changed, 17 insertions, 1 deletions
diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
index 87739a510d..c31d36acae 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
@@ -192,6 +192,21 @@ func xinit() {
gogcflags = os.Getenv("BOOT_GO_GCFLAGS")
+ // Add -mod=vendor to GOFLAGS so that commands won't try to resolve go.mod
+ // files for vendored external modules.
+ // TODO(golang.org/issue/30240): If the vendor directory contains the go.mod
+ // files, this probably won't be necessary.
+ // TODO(golang.org/issue/26849): Escape spaces in GOFLAGS if needed.
+ goflags := strings.Fields(os.Getenv("GOFLAGS"))
+ for i, flag := range goflags {
+ if strings.HasPrefix(flag, "-mod=") {
+ goflags = append(goflags[0:i], goflags[i+1:]...)
+ break
+ }
+ }
+ goflags = append(goflags, "-mod=vendor")
+ os.Setenv("GOFLAGS", strings.Join(goflags, " "))
+
cc, cxx := "gcc", "g++"
if defaultclang {
cc, cxx = "clang", "clang++"
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index a58cee7518..1a54752f35 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -419,9 +419,10 @@ func (t *tester) registerTests() {
if !t.race {
cmd.Args = append(cmd.Args, "cmd")
}
+ cmd.Stderr = new(bytes.Buffer)
all, err := cmd.Output()
if err != nil {
- log.Fatalf("Error running go list std cmd: %v, %s", err, all)
+ log.Fatalf("Error running go list std cmd: %v:\n%s", err, cmd.Stderr)
}
pkgs := strings.Fields(string(all))
for _, pkg := range pkgs {