aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/load/pkg.go
diff options
context:
space:
mode:
authorJay Conrod <jayconrod@google.com>2019-09-19 12:58:02 -0400
committerJay Conrod <jayconrod@google.com>2019-09-19 20:53:11 +0000
commite2cbb7f629d05807925a5dcd08b61b2a30306ac5 (patch)
tree691ba237339b32a28ed6a6e97bc71f5f7a3f92a1 /src/cmd/go/internal/load/pkg.go
parent1c50fcf853b0382ac6a98e4c84eb90230b37832f (diff)
downloadgo-e2cbb7f629d05807925a5dcd08b61b2a30306ac5.tar.gz
go-e2cbb7f629d05807925a5dcd08b61b2a30306ac5.zip
cmd/go: don't construct module version info if there are import errors
A precondition of modload.PackageBuildInfo is that its path and deps arguments correspond to paths that have been loaded successfully with modload.ImportPaths or one of the Load functions. load.Package.load should not call PackageBuildInfo if there were any errors resolving imports. Fixes #34393 Change-Id: I107514f1c535885330ff266c85d3981b71b31c2d Reviewed-on: https://go-review.googlesource.com/c/go/+/196520 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/go/internal/load/pkg.go')
-rw-r--r--src/cmd/go/internal/load/pkg.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
index daaa3ab0c1..b8cd36f1da 100644
--- a/src/cmd/go/internal/load/pkg.go
+++ b/src/cmd/go/internal/load/pkg.go
@@ -1674,13 +1674,13 @@ func (p *Package) load(stk *ImportStack, bp *build.Package, err error) {
return
}
- if cfg.ModulesEnabled {
+ if cfg.ModulesEnabled && p.Error == nil {
mainPath := p.ImportPath
if p.Internal.CmdlineFiles {
mainPath = "command-line-arguments"
}
p.Module = ModPackageModuleInfo(mainPath)
- if p.Name == "main" {
+ if p.Name == "main" && len(p.DepsErrors) == 0 {
p.Internal.BuildInfo = ModPackageBuildInfo(mainPath, p.Deps)
}
}