aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/modcmd/tidy.go
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-11-01 16:54:18 -0400
committerBryan C. Mills <bcmills@google.com>2019-11-06 15:08:19 +0000
commitcf3be9bbca2f90d87283ae69322616b43702a2f7 (patch)
tree6aff41f0e59d4091e4b31dfa33293d7a6c227788 /src/cmd/go/internal/modcmd/tidy.go
parent1bd974eeb7238f1f8c09e037a86988d1d2b1e33a (diff)
downloadgo-cf3be9bbca2f90d87283ae69322616b43702a2f7.tar.gz
go-cf3be9bbca2f90d87283ae69322616b43702a2f7.zip
cmd/go: make commands other than 'tidy' prune go.mod less agressively
Updates #31870 Updates #33326 Fixes #34822 Change-Id: I1337f171133c20800eacc6b0955ede5a394ea7eb Reviewed-on: https://go-review.googlesource.com/c/go/+/204878 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src/cmd/go/internal/modcmd/tidy.go')
-rw-r--r--src/cmd/go/internal/modcmd/tidy.go27
1 files changed, 2 insertions, 25 deletions
diff --git a/src/cmd/go/internal/modcmd/tidy.go b/src/cmd/go/internal/modcmd/tidy.go
index 584a432d66..af2b04c0c2 100644
--- a/src/cmd/go/internal/modcmd/tidy.go
+++ b/src/cmd/go/internal/modcmd/tidy.go
@@ -7,9 +7,6 @@
package modcmd
import (
- "fmt"
- "os"
-
"cmd/go/internal/base"
"cmd/go/internal/cfg"
"cmd/go/internal/modfetch"
@@ -45,28 +42,8 @@ func runTidy(cmd *base.Command, args []string) {
base.Fatalf("go mod tidy: no arguments allowed")
}
- // LoadALL adds missing modules.
- // Remove unused modules.
- used := make(map[module.Version]bool)
- for _, pkg := range modload.LoadALL() {
- used[modload.PackageModule(pkg)] = true
- }
- used[modload.Target] = true // note: LoadALL initializes Target
-
- inGoMod := make(map[string]bool)
- for _, r := range modload.ModFile().Require {
- inGoMod[r.Mod.Path] = true
- }
-
- var keep []module.Version
- for _, m := range modload.BuildList() {
- if used[m] {
- keep = append(keep, m)
- } else if cfg.BuildV && inGoMod[m.Path] {
- fmt.Fprintf(os.Stderr, "unused %s\n", m.Path)
- }
- }
- modload.SetBuildList(keep)
+ modload.LoadALL()
+ modload.TidyBuildList()
modTidyGoSum() // updates memory copy; WriteGoMod on next line flushes it out
modload.WriteGoMod()
}