aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/modload/search.go
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-03-12 09:27:27 -0400
committerBryan C. Mills <bcmills@google.com>2019-03-12 20:10:13 +0000
commitf54b8909ac93637159e2661f25aef5e61e8cd8fc (patch)
treea016a380f3b1b836a26dd5a2874c004aff4d15f0 /src/cmd/go/internal/modload/search.go
parent718fdd7b48d2a20c5a84a7b516ed29c98d61e359 (diff)
downloadgo-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.go16
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)
}