diff options
author | Bryan C. Mills <bcmills@google.com> | 2019-03-12 09:27:27 -0400 |
---|---|---|
committer | Bryan C. Mills <bcmills@google.com> | 2019-03-12 20:10:13 +0000 |
commit | f54b8909ac93637159e2661f25aef5e61e8cd8fc (patch) | |
tree | a016a380f3b1b836a26dd5a2874c004aff4d15f0 /src/cmd/go/internal/modload/search.go | |
parent | 718fdd7b48d2a20c5a84a7b516ed29c98d61e359 (diff) | |
download | go-f54b8909ac93637159e2661f25aef5e61e8cd8fc.tar.gz go-f54b8909ac93637159e2661f25aef5e61e8cd8fc.zip |
cmd/go/internal/modload: treat a 'std' module outside GOROOT/src as an ordinary module
Fixes #30756
Change-Id: I046d43df56faac8fc09d53dc1e87a014dd6d530b
Reviewed-on: https://go-review.googlesource.com/c/go/+/167080
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src/cmd/go/internal/modload/search.go')
-rw-r--r-- | src/cmd/go/internal/modload/search.go | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/cmd/go/internal/modload/search.go b/src/cmd/go/internal/modload/search.go index 2cd657326c..753b3be6de 100644 --- a/src/cmd/go/internal/modload/search.go +++ b/src/cmd/go/internal/modload/search.go @@ -106,11 +106,7 @@ func matchPackages(pattern string, tags map[string]bool, useStd bool, modules [] if cfg.BuildMod == "vendor" { if HasModRoot() { - modPrefix := Target.Path - if Target.Path == "std" { - modPrefix = "" - } - walkPkgs(ModRoot(), modPrefix, false) + walkPkgs(ModRoot(), targetPrefix, false) walkPkgs(filepath.Join(ModRoot(), "vendor"), "", false) } return pkgs @@ -120,12 +116,13 @@ func matchPackages(pattern string, tags map[string]bool, useStd bool, modules [] if !treeCanMatch(mod.Path) { continue } - var root string - if mod.Version == "" { + var root, modPrefix string + if mod == Target { if !HasModRoot() { continue // If there is no main module, we can't search in it. } root = ModRoot() + modPrefix = targetPrefix } else { var err error root, _, err = fetch(mod) @@ -133,10 +130,7 @@ func matchPackages(pattern string, tags map[string]bool, useStd bool, modules [] base.Errorf("go: %v", err) continue } - } - modPrefix := mod.Path - if mod.Path == "std" { - modPrefix = "" + modPrefix = mod.Path } walkPkgs(root, modPrefix, false) } |