diff options
Diffstat (limited to 'src/cmd/dist')
| -rw-r--r-- | src/cmd/dist/build.go | 15 | ||||
| -rw-r--r-- | src/cmd/dist/test.go | 3 |
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 { |
