mirror of
https://github.com/golang/go
synced 2024-11-19 16:44:43 -07:00
cmd/go: do not use cache when -a is specified
Clearly -a means don't use the cache. An oversight that it did. Fixes #22586. Change-Id: I250b351439bd3fb5f8d6efc235b614f0a75ca64c Reviewed-on: https://go-review.googlesource.com/76016 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
This commit is contained in:
parent
f3c46355d7
commit
eca28cc4f3
@ -4728,6 +4728,9 @@ func TestBuildCache(t *testing.T) {
|
||||
tg.run("build", "-x", "complex/w")
|
||||
tg.grepStderrNot(`[\\/]compile|gccgo`, "ran compiler incorrectly")
|
||||
|
||||
tg.run("build", "-a", "-x", "complex/w")
|
||||
tg.grepStderr(`[\\/]compile|gccgo`, "did not run compiler with -a")
|
||||
|
||||
// complex is a non-trivial main package.
|
||||
// the link step should not be cached.
|
||||
tg.run("build", "-o", os.DevNull, "-x", "complex")
|
||||
|
@ -355,17 +355,19 @@ func (b *Builder) useCache(a *Action, p *load.Package, actionHash cache.ActionID
|
||||
// We treat hits in this cache as being "stale" for the purposes of go list
|
||||
// (in effect, "stale" means whether p.Target is up-to-date),
|
||||
// but we're still happy to use results from the build artifact cache.
|
||||
if c := cache.Default(); c != nil {
|
||||
outputID, size, err := c.Get(actionHash)
|
||||
if err == nil {
|
||||
file := c.OutputFile(outputID)
|
||||
info, err1 := os.Stat(file)
|
||||
buildID, err2 := buildid.ReadFile(file)
|
||||
if err1 == nil && err2 == nil && info.Size() == size {
|
||||
a.built = file
|
||||
a.Target = "DO NOT USE - using cache"
|
||||
a.buildID = buildID
|
||||
return true
|
||||
if !cfg.BuildA {
|
||||
if c := cache.Default(); c != nil {
|
||||
outputID, size, err := c.Get(actionHash)
|
||||
if err == nil {
|
||||
file := c.OutputFile(outputID)
|
||||
info, err1 := os.Stat(file)
|
||||
buildID, err2 := buildid.ReadFile(file)
|
||||
if err1 == nil && err2 == nil && info.Size() == size {
|
||||
a.built = file
|
||||
a.Target = "DO NOT USE - using cache"
|
||||
a.buildID = buildID
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user