mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/go/internal/env: add GOCACHEPROG to go env output
For #71059 Change-Id: I4bbdd14d416dc2e6dae3549a84c16dbef9d4e645 Reviewed-on: https://go-review.googlesource.com/c/go/+/640755 Reviewed-by: Sam Thanawalla <samthanawalla@google.com> Reviewed-by: Austin Clements <austin@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
850b276a67
commit
a9bd6239a4
4 changed files with 48 additions and 4 deletions
4
src/cmd/go/internal/cache/default.go
vendored
4
src/cmd/go/internal/cache/default.go
vendored
|
|
@ -54,8 +54,8 @@ func initDefaultCache() Cache {
|
|||
base.Fatalf("failed to initialize build cache at %s: %s\n", dir, err)
|
||||
}
|
||||
|
||||
if v := cfg.Getenv("GOCACHEPROG"); v != "" {
|
||||
return startCacheProg(v, diskCache)
|
||||
if cfg.GOCACHEPROG != "" {
|
||||
return startCacheProg(cfg.GOCACHEPROG, diskCache)
|
||||
}
|
||||
|
||||
return diskCache
|
||||
|
|
|
|||
|
|
@ -426,6 +426,7 @@ var (
|
|||
GOROOTsrc string
|
||||
|
||||
GOBIN = Getenv("GOBIN")
|
||||
GOCACHEPROG, GOCACHEPROGChanged = EnvOrAndChanged("GOCACHEPROG", "")
|
||||
GOMODCACHE, GOMODCACHEChanged = EnvOrAndChanged("GOMODCACHE", gopathDir("pkg/mod"))
|
||||
|
||||
// Used in envcmd.MkEnv and build ID computations.
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ func MkEnv() []cfg.EnvVar {
|
|||
{Name: "GOAUTH", Value: cfg.GOAUTH, Changed: cfg.GOAUTHChanged},
|
||||
{Name: "GOBIN", Value: cfg.GOBIN},
|
||||
{Name: "GOCACHE"},
|
||||
{Name: "GOCACHEPROG", Value: cfg.GOCACHEPROG, Changed: cfg.GOCACHEPROGChanged},
|
||||
{Name: "GODEBUG", Value: os.Getenv("GODEBUG")},
|
||||
{Name: "GOENV", Value: envFile, Changed: envFileChanged},
|
||||
{Name: "GOEXE", Value: cfg.ExeSuffix},
|
||||
|
|
|
|||
42
src/cmd/go/testdata/script/env_gocacheprog.txt
vendored
Normal file
42
src/cmd/go/testdata/script/env_gocacheprog.txt
vendored
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# GOCACHEPROG unset
|
||||
env GOCACHEPROG=
|
||||
|
||||
go env
|
||||
stdout 'GOCACHEPROG=''?''?'
|
||||
|
||||
go env -changed
|
||||
! stdout 'GOCACHEPROG'
|
||||
|
||||
go env -changed -json
|
||||
! stdout 'GOCACHEPROG'
|
||||
|
||||
# GOCACHEPROG set
|
||||
[short] skip 'compiles and runs a go program'
|
||||
|
||||
go build -o cacheprog$GOEXE cacheprog.go
|
||||
|
||||
env GOCACHEPROG=$GOPATH/src/cacheprog$GOEXE
|
||||
|
||||
go env
|
||||
stdout 'GOCACHEPROG=''?'$GOCACHEPROG'''?'
|
||||
|
||||
go env -changed
|
||||
stdout 'GOCACHEPROG=''?'$GOCACHEPROG'''?'
|
||||
|
||||
go env -changed -json
|
||||
stdout '"GOCACHEPROG": "'$GOCACHEPROG'"'
|
||||
|
||||
-- cacheprog.go --
|
||||
// This is a minimal GOCACHEPROG program that can't actually do anything but exit.
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
json.NewEncoder(os.Stdout).Encode(map[string][]string{"KnownCommands": {"close"}})
|
||||
var res struct{}
|
||||
json.NewDecoder(os.Stdin).Decode(&res)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue