]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/go/internal/modload: do not fetch modules in searchPackages if -mod=vendor is set
authorBryan C. Mills <bcmills@google.com>
Tue, 5 Mar 2019 14:28:50 +0000 (09:28 -0500)
committerBryan C. Mills <bcmills@google.com>
Tue, 5 Mar 2019 18:20:11 +0000 (18:20 +0000)
Updates #30228
Updates #30241

Change-Id: I6b5f842d00ba273ed241abe55a1ea71c105ec284
Reviewed-on: https://go-review.googlesource.com/c/go/+/165377
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
src/cmd/go/internal/modload/search.go
src/cmd/go/testdata/script/mod_vendor_build.txt

index 7d8852d01d7f7e172d3800b643ebfbf637c103e1..45e7ee2674063900146bd194d2a8d438e76f6da3 100644 (file)
@@ -112,6 +112,11 @@ func matchPackages(pattern string, tags map[string]bool, useStd bool, modules []
                walkPkgs(cfg.GOROOTsrc, "")
        }
 
+       if cfg.BuildMod == "vendor" {
+               walkPkgs(filepath.Join(ModRoot(), "vendor"), "")
+               return pkgs
+       }
+
        for _, mod := range modules {
                if !treeCanMatch(mod.Path) {
                        continue
index 7b304dbb707ea86cd98f463c4ab83444ae363822..01ee2d202aead529a9a434556a10115b95b74d75 100644 (file)
@@ -19,6 +19,12 @@ cmp go.mod go.mod.good
 go list -mod=vendor
 cmp go.mod go.mod.good
 
+# With a clean (and empty) module cache, 'go list -mod=vendor' should not download modules.
+go clean -modcache
+env GOPROXY=off
+! go list ...
+go list -mod=vendor ...
+
 -- go.mod --
 module m