diff options
author | Jay Conrod <jayconrod@google.com> | 2020-11-10 15:48:37 -0500 |
---|---|---|
committer | Jay Conrod <jayconrod@google.com> | 2020-11-16 21:06:29 +0000 |
commit | 97700baf8bd5c0fdbfe38eedc80d3c612805cbda (patch) | |
tree | 3fc43a05446ba8f542fdf31a8270ab93b348bf92 /src/cmd/go/internal/modload/modfile.go | |
parent | 38367d098ed4d97539de5e43e03bce985fc56d8e (diff) | |
download | go-97700baf8bd5c0fdbfe38eedc80d3c612805cbda.tar.gz go-97700baf8bd5c0fdbfe38eedc80d3c612805cbda.zip |
cmd/go: in 'go get', only load retractions for resolved versions
Previously, 'go get' loaded retractions for every module in the build
list, which took a long time and usually wasn't helpful.
Fixes #42185
Change-Id: I64294585db141106b63ec74aafa0d266b7536ef2
Reviewed-on: https://go-review.googlesource.com/c/go/+/269019
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Trust: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src/cmd/go/internal/modload/modfile.go')
-rw-r--r-- | src/cmd/go/internal/modload/modfile.go | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/cmd/go/internal/modload/modfile.go b/src/cmd/go/internal/modload/modfile.go index 7a8963246b..e9601c3e7c 100644 --- a/src/cmd/go/internal/modload/modfile.go +++ b/src/cmd/go/internal/modload/modfile.go @@ -59,7 +59,7 @@ func CheckAllowed(ctx context.Context, m module.Version) error { if err := CheckExclusions(ctx, m); err != nil { return err } - if err := checkRetractions(ctx, m); err != nil { + if err := CheckRetractions(ctx, m); err != nil { return err } return nil @@ -85,9 +85,9 @@ type excludedError struct{} func (e *excludedError) Error() string { return "excluded by go.mod" } func (e *excludedError) Is(err error) bool { return err == ErrDisallowed } -// checkRetractions returns an error if module m has been retracted by +// CheckRetractions returns an error if module m has been retracted by // its author. -func checkRetractions(ctx context.Context, m module.Version) error { +func CheckRetractions(ctx context.Context, m module.Version) error { if m.Version == "" { // Main module, standard library, or file replacement module. // Cannot be retracted. @@ -165,28 +165,28 @@ func checkRetractions(ctx context.Context, m module.Version) error { } } if isRetracted { - return module.VersionError(m, &retractedError{rationale: rationale}) + return module.VersionError(m, &ModuleRetractedError{Rationale: rationale}) } return nil } var retractCache par.Cache -type retractedError struct { - rationale []string +type ModuleRetractedError struct { + Rationale []string } -func (e *retractedError) Error() string { +func (e *ModuleRetractedError) Error() string { msg := "retracted by module author" - if len(e.rationale) > 0 { + if len(e.Rationale) > 0 { // This is meant to be a short error printed on a terminal, so just // print the first rationale. - msg += ": " + ShortRetractionRationale(e.rationale[0]) + msg += ": " + ShortRetractionRationale(e.Rationale[0]) } return msg } -func (e *retractedError) Is(err error) bool { +func (e *ModuleRetractedError) Is(err error) bool { return err == ErrDisallowed } |