mirror of
https://github.com/golang/go
synced 2024-11-23 06:50:05 -07:00
cmd/go: remove ListModules call in runGet
ListModules was used to download .info files so that 'go list -m all' would succeed later when offline. However, 'go list -m all' may already fail when offline after 'go mod tidy', so it doesn't make sense to add complexity to 'go get'. Instead, remove the ListModules call and fix the test that accidentally depended on it. For #42723 Change-Id: I692597cf5ca15c23fa6fc9d2bac4b6e044299482 Reviewed-on: https://go-review.googlesource.com/c/go/+/271577 Trust: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
parent
cb3f84ad25
commit
9264067a41
@ -466,21 +466,6 @@ func runGet(ctx context.Context, cmd *base.Command, args []string) {
|
||||
modload.AllowWriteGoMod()
|
||||
modload.WriteGoMod()
|
||||
modload.DisallowWriteGoMod()
|
||||
|
||||
// Ensure .info files are cached for each module in the build list.
|
||||
// This ensures 'go list -m all' can succeed later if offline.
|
||||
// 'go get' only loads .info files for queried versions. 'go list -m' needs
|
||||
// them to add timestamps to the output.
|
||||
//
|
||||
// This is best effort since build commands don't need .info files to load
|
||||
// the build list.
|
||||
//
|
||||
// TODO(golang.org/issue/40775): ListModules resets modload.loader, which
|
||||
// contains information about direct dependencies that WriteGoMod uses.
|
||||
// Refactor to avoid these kinds of global side effects.
|
||||
if modload.HasModRoot() {
|
||||
modload.ListModules(ctx, []string{"all"}, false, false, false)
|
||||
}
|
||||
}
|
||||
|
||||
// parseArgs parses command-line arguments and reports errors.
|
||||
|
6
src/cmd/go/testdata/script/mod_gonoproxy.txt
vendored
6
src/cmd/go/testdata/script/mod_gonoproxy.txt
vendored
@ -18,6 +18,12 @@ env GOPRIVATE='*/quote,*/*mple*,golang.org/x'
|
||||
env GONOPROXY=none # that is, proxy all despite GOPRIVATE
|
||||
go get -d rsc.io/quote
|
||||
|
||||
# Download .info files needed for 'go list -m all' later.
|
||||
# TODO(#42723): either 'go list -m' should not read these files,
|
||||
# or 'go get' and 'go mod tidy' should download them.
|
||||
go list -m all
|
||||
stdout '^golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c$'
|
||||
|
||||
# When GOPROXY is not empty but contains no entries, an error should be reported.
|
||||
env GOPROXY=','
|
||||
! go get -d golang.org/x/text
|
||||
|
Loading…
Reference in New Issue
Block a user