aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/list/list.go
diff options
context:
space:
mode:
authorJay Conrod <jayconrod@google.com>2021-04-15 18:06:45 -0400
committerJay Conrod <jayconrod@google.com>2021-04-16 14:15:42 +0000
commitdc76c4756599ac4bd9644e407aa2af9f9c8a3bdc (patch)
treef8b57a4e4cee0ca04911f6d0ccd2d727df09ac87 /src/cmd/go/internal/list/list.go
parentcde92846e227425df8258cafade02497a60e421e (diff)
downloadgo-dc76c4756599ac4bd9644e407aa2af9f9c8a3bdc.tar.gz
go-dc76c4756599ac4bd9644e407aa2af9f9c8a3bdc.zip
cmd/go/internal/load: convert two global flags to an options struct
PackageOpts is a new struct type accepted by package loading functions. It initially has two fields: IgnoreImports, and ModResolveTests. Previously, these were global variables set by clients. We'll add more to this in the future. For #40775 Change-Id: I6956e56502de836d3815ce788bdf16fc5f3e5338 Reviewed-on: https://go-review.googlesource.com/c/go/+/310669 Trust: Jay Conrod <jayconrod@google.com> Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/go/internal/list/list.go')
-rw-r--r--src/cmd/go/internal/list/list.go12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/cmd/go/internal/list/list.go b/src/cmd/go/internal/list/list.go
index 9b78a64d5f..221370bd19 100644
--- a/src/cmd/go/internal/list/list.go
+++ b/src/cmd/go/internal/list/list.go
@@ -339,7 +339,6 @@ func runList(ctx context.Context, cmd *base.Command, args []string) {
base.Fatalf("go list -f cannot be used with -json")
}
- load.ModResolveTests = *listTest
work.BuildInit()
out := newTrackingWriter(os.Stdout)
defer out.w.Flush()
@@ -498,8 +497,11 @@ func runList(ctx context.Context, cmd *base.Command, args []string) {
base.Fatalf("go list -test cannot be used with -find")
}
- load.IgnoreImports = *listFind
- pkgs := load.PackagesAndErrors(ctx, args)
+ pkgOpts := load.PackageOpts{
+ IgnoreImports: *listFind,
+ ModResolveTests: *listTest,
+ }
+ pkgs := load.PackagesAndErrors(ctx, pkgOpts, args)
if !*listE {
w := 0
for _, pkg := range pkgs {
@@ -536,9 +538,9 @@ func runList(ctx context.Context, cmd *base.Command, args []string) {
var pmain, ptest, pxtest *load.Package
var err error
if *listE {
- pmain, ptest, pxtest = load.TestPackagesAndErrors(ctx, p, nil)
+ pmain, ptest, pxtest = load.TestPackagesAndErrors(ctx, pkgOpts, p, nil)
} else {
- pmain, ptest, pxtest, err = load.TestPackagesFor(ctx, p, nil)
+ pmain, ptest, pxtest, err = load.TestPackagesFor(ctx, pkgOpts, p, nil)
if err != nil {
base.Errorf("can't load test package: %s", err)
}