diff options
| author | Michael Matloob <matloob@golang.org> | 2022-10-06 13:41:02 -0400 |
|---|---|---|
| committer | Michael Matloob <matloob@golang.org> | 2022-10-06 18:18:22 +0000 |
| commit | fda5dcd9bba38bcdbe9ac473985e108e125c34a5 (patch) | |
| tree | 38e1dc095b3eee79d069807237268dc335f51797 /src | |
| parent | 9dfadf911d2dcb093c3a37c79869bead0f9f6349 (diff) | |
| download | go-fda5dcd9bba38bcdbe9ac473985e108e125c34a5.tar.xz | |
cmd/go: fix incorrect determination of import path is DirImportPath
In practice this only shows up when a vendored package, imported on the
command line, imports an internal package.
Change-Id: I34c161d1f1ef15a87c58a422f17d11f77fbac53f
Reviewed-on: https://go-review.googlesource.com/c/go/+/439735
Run-TryBot: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/go/internal/modload/load.go | 1 | ||||
| -rw-r--r-- | src/cmd/go/testdata/script/vendor_internal.txt | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/cmd/go/internal/modload/load.go b/src/cmd/go/internal/modload/load.go index e74780a7b2..afd6c80370 100644 --- a/src/cmd/go/internal/modload/load.go +++ b/src/cmd/go/internal/modload/load.go @@ -753,6 +753,7 @@ func (mms *MainModuleSet) DirImportPath(ctx context.Context, dir string) (path s suffix := filepath.ToSlash(dir[len(modRoot):]) if strings.HasPrefix(suffix, "/vendor/") { longestPrefixPath = strings.TrimPrefix(suffix, "/vendor/") + continue } longestPrefixPath = mms.PathPrefix(v) + suffix } diff --git a/src/cmd/go/testdata/script/vendor_internal.txt b/src/cmd/go/testdata/script/vendor_internal.txt new file mode 100644 index 0000000000..4c0f1facee --- /dev/null +++ b/src/cmd/go/testdata/script/vendor_internal.txt @@ -0,0 +1,16 @@ +go build ./vendor/foo.com/internal/bar/a + +-- go.mod -- +module example.com/x +go 1.19 + +require "foo.com/internal/bar" v1.0.0 +-- vendor/modules.txt -- +# foo.com/internal/bar v1.0.0 +## explicit +foo.com/internal/bar/a +-- vendor/foo.com/internal/bar/a/a.go -- +package a +import _ "foo.com/internal/bar/b" +-- vendor/foo.com/internal/bar/b/b.go -- +package b
\ No newline at end of file |
