aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/envcmd/env.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2019-04-25 21:01:17 -0400
committerRuss Cox <rsc@golang.org>2019-04-29 12:39:27 +0000
commit3cf1d770809453fed8754cf3ddf4028cdd7716fe (patch)
tree0ce59b0196c524e37307b000d361ae2017402453 /src/cmd/go/internal/envcmd/env.go
parent203b80ab8639ff9dc0710e22c2b33f2df861363b (diff)
downloadgo-3cf1d770809453fed8754cf3ddf4028cdd7716fe.tar.gz
go-3cf1d770809453fed8754cf3ddf4028cdd7716fe.zip
cmd/go: implement Go checksum database support
This CL adds support for consulting the Go checksum database when downloading a module that is not already listed in go.sum. The overall system is described at golang.org/design/25530-sumdb, and this CL implements the functionality described specifically in golang.org/design/25530-sumdb#command-client. Although the eventual plan is to set GOPROXY and GOSUMDB to default to a Google-run proxy serving the public Go ecosystem, this CL leaves them off by default. Fixes #30601. Change-Id: Ie46140f93c6cc2d85573fbce0878a258819ff44d Reviewed-on: https://go-review.googlesource.com/c/go/+/173951 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/go/internal/envcmd/env.go')
-rw-r--r--src/cmd/go/internal/envcmd/env.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
index f03eeca9ff..00f10977bb 100644
--- a/src/cmd/go/internal/envcmd/env.go
+++ b/src/cmd/go/internal/envcmd/env.go
@@ -8,13 +8,13 @@ package envcmd
import (
"encoding/json"
"fmt"
+ "io/ioutil"
"os"
"path/filepath"
- "unicode/utf8"
- "io/ioutil"
- "sort"
"runtime"
+ "sort"
"strings"
+ "unicode/utf8"
"cmd/go/internal/base"
"cmd/go/internal/cache"
@@ -56,7 +56,7 @@ func init() {
var (
envJson = CmdEnv.Flag.Bool("json", false, "")
- envU = CmdEnv.Flag.Bool("u", false, "")
+ envU = CmdEnv.Flag.Bool("u", false, "")
envW = CmdEnv.Flag.Bool("w", false, "")
)
@@ -74,10 +74,13 @@ func MkEnv() []cfg.EnvVar {
{Name: "GOFLAGS", Value: cfg.Getenv("GOFLAGS")},
{Name: "GOHOSTARCH", Value: runtime.GOARCH},
{Name: "GOHOSTOS", Value: runtime.GOOS},
+ {Name: "GONOPROXY", Value: cfg.GONOPROXY},
+ {Name: "GONOSUMDB", Value: cfg.GONOSUMDB},
{Name: "GOOS", Value: cfg.Goos},
{Name: "GOPATH", Value: cfg.BuildContext.GOPATH},
- {Name: "GOPROXY", Value: cfg.Getenv("GOPROXY")},
+ {Name: "GOPROXY", Value: cfg.GOPROXY},
{Name: "GOROOT", Value: cfg.GOROOT},
+ {Name: "GOSUMDB", Value: cfg.GOSUMDB},
{Name: "GOTMPDIR", Value: cfg.Getenv("GOTMPDIR")},
{Name: "GOTOOLDIR", Value: base.ToolDir},
}
@@ -387,7 +390,7 @@ func updateEnvFile(add map[string]string, del map[string]bool) {
}
}
for key, val := range add {
- lines = append(lines, key + "=" + val + "\n")
+ lines = append(lines, key+"="+val+"\n")
}
// Delete requested variables (go env -u).
@@ -404,7 +407,7 @@ func updateEnvFile(add map[string]string, del map[string]bool) {
for i := 0; i <= len(lines); i++ {
if i == len(lines) || lineToKey(lines[i]) == "" {
sortKeyValues(lines[start:i])
- start = i+1
+ start = i + 1
}
}