]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: enable -x in go mod download
authorHana (Hyang-Ah) Kim <hyangah@gmail.com>
Sat, 23 Nov 2019 17:06:21 +0000 (12:06 -0500)
committerHyang-Ah Hana Kim <hyangah@gmail.com>
Wed, 27 Nov 2019 18:42:33 +0000 (18:42 +0000)
Lack of logging hinders debugging. Like many other go commands,
let's allow users to inspect what is going on underneath.

Example:

$ GO111MODULE=on GOPROXY=direct GOPATH=`mktemp -d` go mod download -x golang.org/x/tools/gopls@latest
mkdir -p /var/folders/bw/6r6k9d113sv1_vvzk_1kfxbm001py5/T/tmp.ykhTiXaS/pkg/mod/cache/vcs # git3 https://go.googlesource.com/tools
...

Update #35849

Change-Id: I5577e683ae3c0145b11822df255b210ad9f60c87
Reviewed-on: https://go-review.googlesource.com/c/go/+/208558
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/go/alldocs.go
src/cmd/go/internal/modcmd/download.go
src/cmd/go/testdata/script/mod_download.txt

index add11a47fed446702c0788d7049ab2b7d17729f1..013f7b3cfec2db105397e5fdabf6c3263830c260 100644 (file)
 //
 // Usage:
 //
-//     go mod download [-json] [modules]
+//     go mod download [-x] [-json] [modules]
 //
 // Download downloads the named modules, which can be module patterns selecting
 // dependencies of the main module or module queries of the form path@version.
 //         GoModSum string // checksum for go.mod (as in go.sum)
 //     }
 //
+// The -x flag causes download to print the commands download executes.
+//
 // See 'go help modules' for more about module queries.
 //
 //
index 768ce94f39b9a9327575055d0719b9bffd222b93..5db0e46c644f0e8bfb1bebb17e8d10b714bb586f 100644 (file)
@@ -19,7 +19,7 @@ import (
 )
 
 var cmdDownload = &base.Command{
-       UsageLine: "go mod download [-json] [modules]",
+       UsageLine: "go mod download [-x] [-json] [modules]",
        Short:     "download modules to local cache",
        Long: `
 Download downloads the named modules, which can be module patterns selecting
@@ -47,6 +47,8 @@ corresponding to this Go struct:
         GoModSum string // checksum for go.mod (as in go.sum)
     }
 
+The -x flag causes download to print the commands download executes.
+
 See 'go help modules' for more about module queries.
        `,
 }
@@ -56,6 +58,8 @@ var downloadJSON = cmdDownload.Flag.Bool("json", false, "")
 func init() {
        cmdDownload.Run = runDownload // break init cycle
 
+       // TODO(jayconrod): https://golang.org/issue/35849 Apply -x to other 'go mod' commands.
+       cmdDownload.Flag.BoolVar(&cfg.BuildX, "x", false, "")
        work.AddModCommonFlags(cmdDownload)
 }
 
index e341222d60be93e8ec2e6aba20d5bec32f2fe380..3573928a9338d7484b3dc71f173181c14b50c1d9 100644 (file)
@@ -4,6 +4,7 @@ env GOPROXY=$GOPROXY/quiet
 # download with version should print nothing
 go mod download rsc.io/quote@v1.5.0
 ! stdout .
+! stderr .
 
 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
@@ -106,5 +107,11 @@ rm $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.2.1.zip
 go mod download rsc.io/quote@v1.2.1
 exists $GOPATH/pkg/mod/cache/download/rsc.io/quote/@v/v1.2.1.zip
 
+# download -x with version should print
+# the underlying commands such as contacting GOPROXY.
+go mod download -x rsc.io/quote@v1.0.0
+! stdout .
+stderr 'get '$GOPROXY
+
 -- go.mod --
 module m