]> Cypherpunks repositories - gostls13.git/commit
cmd/go: abstract build cache, support implementations via child process
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 6 Feb 2023 03:52:06 +0000 (19:52 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 25 May 2023 00:49:37 +0000 (00:49 +0000)
commit558301a5cb8c87dab8a82db096b4ed5c12610a7d
treeaa5eb27493b288cf5af03da64038aebb444291e2
parentd4bd855cfb5319bfa560251d60a93369c0ce0763
cmd/go: abstract build cache, support implementations via child process

Via setting GOCACHEPROG to a binary which speaks JSON over
stdin/stdout.

For now, it requires GOEXPERIMENT=cacheprog.

Fixes golang/go#59719

Change-Id: I824ff04d5ebdf0ba4d1b5bc2e9fbaee26d34c80f
Reviewed-on: https://go-review.googlesource.com/c/go/+/486715
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
12 files changed:
src/cmd/go/internal/cache/cache.go
src/cmd/go/internal/cache/cache_test.go
src/cmd/go/internal/cache/default.go
src/cmd/go/internal/cache/prog.go [new file with mode: 0644]
src/cmd/go/internal/modindex/read.go
src/cmd/go/internal/test/test.go
src/cmd/go/internal/work/buildid.go
src/cmd/go/internal/work/exec.go
src/internal/cfg/cfg.go
src/internal/goexperiment/exp_cacheprog_off.go [new file with mode: 0644]
src/internal/goexperiment/exp_cacheprog_on.go [new file with mode: 0644]
src/internal/goexperiment/flags.go