aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Matloob <matloob@golang.org>2022-02-11 12:01:34 -0500
committerMichael Matloob <matloob@golang.org>2022-02-11 18:50:49 +0000
commit23386b5f675782c7b5929ef13604ca4e147e4197 (patch)
tree78d3926e299c25e3e415f730292cdbfd89ad05ac /src
parent0a9d6a31b1e8799e11cb055687fbbe4536590994 (diff)
downloadgo-23386b5f675782c7b5929ef13604ca4e147e4197.tar.xz
cmd/go: support workspaces in vet
Add modload.InitWorkfile to runVet so that the vet command recognizes and uses the workspace. Fixes #51072 Change-Id: Ia6727eff9b80eb33627f5ae23e4d72cde581e75f Reviewed-on: https://go-review.googlesource.com/c/go/+/385176 Trust: Michael Matloob <matloob@golang.org> Run-TryBot: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/internal/vet/vet.go2
-rw-r--r--src/cmd/go/testdata/script/work_vet.txt19
2 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/go/internal/vet/vet.go b/src/cmd/go/internal/vet/vet.go
index 88b3c570a0..d3e0dd8116 100644
--- a/src/cmd/go/internal/vet/vet.go
+++ b/src/cmd/go/internal/vet/vet.go
@@ -13,6 +13,7 @@ import (
"cmd/go/internal/base"
"cmd/go/internal/cfg"
"cmd/go/internal/load"
+ "cmd/go/internal/modload"
"cmd/go/internal/trace"
"cmd/go/internal/work"
)
@@ -54,6 +55,7 @@ See also: go fmt, go fix.
func runVet(ctx context.Context, cmd *base.Command, args []string) {
vetFlags, pkgArgs := vetFlags(args)
+ modload.InitWorkfile() // The vet command does custom flag processing; initialize workspaces after that.
if cfg.DebugTrace != "" {
var close func() error
diff --git a/src/cmd/go/testdata/script/work_vet.txt b/src/cmd/go/testdata/script/work_vet.txt
new file mode 100644
index 0000000000..e258fc0394
--- /dev/null
+++ b/src/cmd/go/testdata/script/work_vet.txt
@@ -0,0 +1,19 @@
+! go vet ./a
+stderr 'fmt.Println call has possible formatting directive'
+
+-- go.work --
+go 1.18
+
+use ./a
+-- a/go.mod --
+module example.com/a
+
+go 1.18
+-- a/a.go --
+package a
+
+import "fmt"
+
+func A() {
+ fmt.Println("%s")
+} \ No newline at end of file