]> Cypherpunks repositories - gostls13.git/commitdiff
go/build: ignore package main files in TestDependencies
authorJosh Bleecher Snyder <josharian@gmail.com>
Tue, 3 Aug 2021 22:49:01 +0000 (15:49 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Wed, 6 Oct 2021 21:06:48 +0000 (21:06 +0000)
The tree has package main files scattered around
in it for the purposes of running go generate.

They're all marked "// +build ignore",
which gets special handling in TestDependencies.
It would be nice to be able to use other build tags,
such as "generate", as suggested by the go generate
design doc. Plus the build tag syntax is changing.

This change skips all "package main" files.
By definition these aren't importable,
so they can't contribute to the dependency tree.

We can't quite eliminate the "// +build ignore"
check, as it is used by packages runtime and syscall.
But it's still a step in the right direction.

Change-Id: Ib9449acfdba75f570b87a4200afe944910d76222
Reviewed-on: https://go-review.googlesource.com/c/go/+/339592
Trust: Josh Bleecher Snyder <josharian@gmail.com>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/go/build/deps_test.go

index 3c3819f3b360c92ed946c0853ea85248b263f9f3..07fbc8b023859be8d9996a5fec4226304d71396c 100644 (file)
@@ -657,6 +657,9 @@ func findImports(pkg string) ([]string, error) {
                if err != nil {
                        return nil, fmt.Errorf("reading %v: %v", name, err)
                }
+               if info.parsed.Name.Name == "main" {
+                       continue
+               }
                if bytes.Contains(info.header, buildIgnore) {
                        continue
                }