diff options
author | Russ Cox <rsc@golang.org> | 2019-04-25 21:01:17 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2019-04-29 12:39:27 +0000 |
commit | 3cf1d770809453fed8754cf3ddf4028cdd7716fe (patch) | |
tree | 0ce59b0196c524e37307b000d361ae2017402453 /src/cmd/go/internal/envcmd/env.go | |
parent | 203b80ab8639ff9dc0710e22c2b33f2df861363b (diff) | |
download | go-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.go | 17 |
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 } } |