From: Alan Donovan Date: Fri, 16 Nov 2018 18:27:55 +0000 (-0500) Subject: cmd/go: vet: provide package ID to the vet tool X-Git-Tag: go1.12beta1~326 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=35244d8fd160f6aa7614f4daa7bfccda1a518510;p=gostls13.git cmd/go: vet: provide package ID to the vet tool This field, which matches the IDs used by go list, will enable all vet drivers to produce JSON output in a consistent format (a map from package ID to analysis name to result). Change-Id: Icac703b944de55df42c996dc2f672005014ad57a Reviewed-on: https://go-review.googlesource.com/c/149960 Reviewed-by: Russ Cox --- diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go index d6f9021c35..ca588911fe 100644 --- a/src/cmd/go/internal/work/exec.go +++ b/src/cmd/go/internal/work/exec.go @@ -881,6 +881,7 @@ func (b *Builder) loadCachedSrcFiles(a *Action) bool { // vetConfig is the configuration passed to vet describing a single package. type vetConfig struct { + ID string // package ID (example: "fmt [fmt.test]") Compiler string // compiler name (gc, gccgo) Dir string // directory containing package ImportPath string // canonical import path ("package path") @@ -914,6 +915,7 @@ func buildVetConfig(a *Action, srcfiles []string) { // so that we can reformat them relative to the directory // in which the go command is invoked. vcfg := &vetConfig{ + ID: a.Package.ImportPath, Compiler: cfg.BuildToolchainName, Dir: a.Package.Dir, GoFiles: mkAbsFiles(a.Package.Dir, gofiles),