diff options
author | Jay Conrod <jayconrod@google.com> | 2020-12-21 18:06:35 -0500 |
---|---|---|
committer | Jay Conrod <jayconrod@google.com> | 2021-01-05 23:31:36 +0000 |
commit | 3e1e13ce6d1271f49f3d8ee359689145a6995bad (patch) | |
tree | e5e545f6517ecb15ad231e6dcb9fecb1eb4506a8 /src/cmd/go/internal/modload/modfile.go | |
parent | 0b0d004983b5f06d7e8ae2084fc7d6612f1aa869 (diff) | |
download | go-3e1e13ce6d1271f49f3d8ee359689145a6995bad.tar.gz go-3e1e13ce6d1271f49f3d8ee359689145a6995bad.zip |
cmd/go: set cfg.BuildMod to "readonly" by default with no module root
modload.Init now sets the default value for -mod if it wasn't set
explicitly. This happens before go.mod is loaded, so
modload.LoadModFile sets the default value again in order to enable
automatic vendoring.
Previously, cfg.BuildMod wasn't set at all if LoadModFile wasn't
called, as is the case for commands that run outside of a module
root. This problem only affected 'go install pkg@version' since other
commands are either forbidden in module mode or run with -mod=mod
(like 'go get' and 'go mod' subcommands).
This change also suppresses "missing sum" errors when -mod=readonly is
enabled and there is no module root.
Fixes #43278
Related #40278
Change-Id: I6071cc42bc5e24d0d7e84556e5bfd8e368e0019d
Reviewed-on: https://go-review.googlesource.com/c/go/+/279490
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/go/internal/modload/modfile.go')
-rw-r--r-- | src/cmd/go/internal/modload/modfile.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/go/internal/modload/modfile.go b/src/cmd/go/internal/modload/modfile.go index eb05e9f9c9..d5a17236cd 100644 --- a/src/cmd/go/internal/modload/modfile.go +++ b/src/cmd/go/internal/modload/modfile.go @@ -446,7 +446,7 @@ func goModSummary(m module.Version) (*modFileSummary, error) { if actual.Path == "" { actual = m } - if cfg.BuildMod == "readonly" && actual.Version != "" { + if HasModRoot() && cfg.BuildMod == "readonly" && actual.Version != "" { key := module.Version{Path: actual.Path, Version: actual.Version + "/go.mod"} if !modfetch.HaveSum(key) { suggestion := fmt.Sprintf("; try 'go mod download %s' to add it", m.Path) |