1
0
mirror of https://github.com/golang/go synced 2024-11-22 16:25:07 -07:00

cmd/go: update PWD variable for 'go generate'

Most subprocess invocations in the go command use base.AppendPWD to
append an accurate value of PWD to the command's environment, which can
speed up calls like os.Getwd and also help to provide less-confusing
output from scripts. Update `go generate` to do so.

Fixes #43862

Change-Id: I3b756f1532b2d922f7d74fd86414d5567a0122c0
GitHub-Last-Rev: 3ec8da265a
GitHub-Pull-Request: golang/go#43940
Reviewed-on: https://go-review.googlesource.com/c/go/+/287152
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Baokun Lee <bk@golangcn.org>
This commit is contained in:
Tao Qingyun 2021-03-05 04:01:00 +00:00 committed by Bryan C. Mills
parent 2b0e29f516
commit f0b6d3753f
2 changed files with 10 additions and 1 deletions

View File

@ -334,6 +334,7 @@ func (g *Generator) setEnv() {
"GOPACKAGE=" + g.pkg,
"DOLLAR=" + "$",
}
g.env = base.AppendPWD(g.env, g.dir)
}
// split breaks the line into words, evaluating quoted

View File

@ -26,6 +26,10 @@ stdout 'yes' # flag.go should select yes
go generate './generate/env_test.go'
stdout 'main_test'
# Test go generate provides the right "$PWD"
go generate './generate/env_pwd.go'
stdout $WORK'[/\\]gopath[/\\]src[/\\]generate'
-- echo.go --
package main
@ -88,4 +92,8 @@ package p
-- generate/env_test.go --
package main_test
//go:generate echo $GOPACKAGE
//go:generate echo $GOPACKAGE
-- generate/env_pwd.go --
package p
//go:generate echo $PWD