From 7e4f05ae6ed0dbf8d0586856d848c6b432a35a02 Mon Sep 17 00:00:00 2001 From: GrigoriyMikhalkin Date: Sat, 21 Dec 2019 21:48:51 +0300 Subject: [PATCH] cmd/go: return user provided path instead of mangled ImportPath Change-Id: Id4b78fae99f0b9245dadee16bb2b448d58fde532 --- src/cmd/go/internal/load/pkg.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 369a79b7164d37..fc9f30d49aea2a 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -739,7 +739,13 @@ func loadPackageData(path, parentPath, parentDir, parentRoot string, parentIsStd } data.p, data.err = cfg.BuildContext.Import(r.path, parentDir, buildMode) } - data.p.ImportPath = r.path + + // If no Go files were found in directory, set provided package path as ImportPath + if _, ok := data.err.(*build.NoGoError); ok { + data.p.ImportPath = path + } else { + data.p.ImportPath = r.path + } // Set data.p.BinDir in cases where go/build.Context.Import // may give us a path we don't want.