1
0
mirror of https://github.com/golang/go synced 2024-09-29 20:24:34 -06:00

cmd/go: PackageVetx in vet.cfg should list only immediate dependencies.

Updates #30296

Change-Id: Ifea1a4c82c1c5b31fdc2e96fdbb1274748c8f50e
Reviewed-on: https://go-review.googlesource.com/c/go/+/164459
Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
Fedor Korotkiy 2019-02-28 15:35:30 +03:00 committed by Bryan C. Mills
parent 64dc4ba73f
commit 1eed2a5ab2
2 changed files with 35 additions and 1 deletions

View File

@ -423,7 +423,7 @@ func (b *Builder) vetAction(mode, depMode BuildMode, p *load.Package) *Action {
} else {
deps = []*Action{a1, aFmt}
}
for _, p1 := range load.PackageList(p.Internal.Imports) {
for _, p1 := range p.Internal.Imports {
deps = append(deps, b.vetAction(mode, depMode, p1))
}

34
src/cmd/go/testdata/script/vet_deps.txt vendored Normal file
View File

@ -0,0 +1,34 @@
env GO111MODULE=off
# Issue 30296. Verify that "go vet" uses only immediate dependencies.
# First run fills the cache.
go vet a
go vet -x a
! stderr 'transitive'
-- a/a.go --
package a
import "b"
func F() {
b.F()
}
-- b/b.go --
package b
import "transitive"
func F() {
transitive.F()
}
-- transitive/c.go --
package transitive
func F() {
}