]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: vet: provide package ID to the vet tool
authorAlan Donovan <adonovan@google.com>
Fri, 16 Nov 2018 18:27:55 +0000 (13:27 -0500)
committerAlan Donovan <adonovan@google.com>
Fri, 16 Nov 2018 19:11:37 +0000 (19:11 +0000)
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 <rsc@golang.org>
src/cmd/go/internal/work/exec.go

index d6f9021c35c09009215346d388536b2f04760d16..ca588911fed84d50ddfd5d0c4957fe7783f1d4d8 100644 (file)
@@ -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),