Commit f40dc5cb authored by Tim Xu's avatar Tim Xu Committed by Bryan C. Mills

clean: clean mod cache should respect "-n" option.

Clean mod cache should print remove commands and not run them when with set "-n" option.
Fixes #27458.

Change-Id: I97242cb40c062b347784cdb61653c84a3a7eab44
GitHub-Last-Rev: 5a6f10cad8c5f2c3916a74ca5eea27b1fdd1dc38
GitHub-Pull-Request: golang/go#27710
Reviewed-on: https://go-review.googlesource.com/135695
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: 's avatarBryan C. Mills <bcmills@google.com>
parent 88c1fd64
...@@ -112,9 +112,10 @@ func runClean(cmd *base.Command, args []string) { ...@@ -112,9 +112,10 @@ func runClean(cmd *base.Command, args []string) {
} }
} }
var b work.Builder
b.Print = fmt.Print
if cleanCache { if cleanCache {
var b work.Builder
b.Print = fmt.Print
dir := cache.DefaultDir() dir := cache.DefaultDir()
if dir != "off" { if dir != "off" {
// Remove the cache subdirectories but not the top cache directory. // Remove the cache subdirectories but not the top cache directory.
...@@ -156,8 +157,13 @@ func runClean(cmd *base.Command, args []string) { ...@@ -156,8 +157,13 @@ func runClean(cmd *base.Command, args []string) {
if modfetch.PkgMod == "" { if modfetch.PkgMod == "" {
base.Fatalf("go clean -modcache: no module cache") base.Fatalf("go clean -modcache: no module cache")
} }
if err := removeAll(modfetch.PkgMod); err != nil { if cfg.BuildN || cfg.BuildX {
base.Errorf("go clean -modcache: %v", err) b.Showcmd("", "rm -rf %s", modfetch.PkgMod)
}
if !cfg.BuildN {
if err := removeAll(modfetch.PkgMod); err != nil {
base.Errorf("go clean -modcache: %v", err)
}
} }
} }
} }
......
env GO111MODULE=on
go mod download rsc.io/quote@v1.5.0
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.info
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.mod
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.zip
go clean -modcache -n
stdout '^rm -rf .*pkg.mod$'
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.info
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.mod
exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.zip
go clean -modcache
! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.info
! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.mod
! exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.5.0.zip
-- go.mod --
module m
-- m.go --
package m
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment