From 71b0264a3877134e75d2fde3a7359b5664edec4e Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 16 Nov 2017 14:56:12 -0500 Subject: [PATCH] cmd/go: simplify compiler import config preparation I realized this simplification was possible when writing the vet loop (just above the code being modified here) but never circled back to make the compiler loop match. Change-Id: Ic2277d2a4b6d94ea4897cc3615fc1a29f2fb243c Reviewed-on: https://go-review.googlesource.com/78395 Run-TryBot: Russ Cox Reviewed-by: David Crawshaw --- src/cmd/go/internal/load/pkg.go | 3 --- src/cmd/go/internal/work/exec.go | 21 ++++----------------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go index 27684fa1f3..15ef95312b 100644 --- a/src/cmd/go/internal/load/pkg.go +++ b/src/cmd/go/internal/load/pkg.go @@ -406,9 +406,6 @@ func LoadImport(path, srcDir string, parent *Package, stk *ImportStack, importPo // Load package. // Import always returns bp != nil, even if an error occurs, // in order to return partial information. - // - // TODO: After Go 1, decide when to pass build.AllowBinary here. - // See issue 3268 for mistakes to avoid. buildMode := build.ImportComment if mode&UseVendor == 0 || path != origPath { // Not vendoring, or we already found the vendored path. diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go index 2e8c103c50..4d6b8a1b90 100644 --- a/src/cmd/go/internal/work/exec.go +++ b/src/cmd/go/internal/work/exec.go @@ -502,23 +502,10 @@ func (b *Builder) build(a *Action) (err error) { // Prepare Go import config. var icfg bytes.Buffer - for _, a1 := range a.Deps { - p1 := a1.Package - if p1 == nil || p1.ImportPath == "" { - continue - } - path := p1.ImportPath - i := strings.LastIndex(path, "/vendor/") - if i >= 0 { - i += len("/vendor/") - } else if strings.HasPrefix(path, "vendor/") { - i = len("vendor/") - } else { - continue - } - fmt.Fprintf(&icfg, "importmap %s=%s\n", path[i:], path) - if vcfg != nil { - vcfg.ImportMap[path[i:]] = path + for i, raw := range a.Package.Internal.RawImports { + final := a.Package.Imports[i] + if final != raw { + fmt.Fprintf(&icfg, "importmap %s=%s\n", raw, final) } } -- 2.50.0