internal/fetch: include goexperiment.jsonv2
For golang/go#71488
For golang/go#71845
Change-Id: Ib1b2fcbe5fede9a7c48207aee06a7659b0d49403
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/666935
LUCI-TryBot-Result: Go LUCI <[email protected]>
Reviewed-by: Jonathan Amsterdam <[email protected]>
kokoro-CI: kokoro <[email protected]>
Reviewed-by: Junyang Shao <[email protected]>
diff --git a/internal/fetch/load.go b/internal/fetch/load.go
index d890c2d..9069743 100644
--- a/internal/fetch/load.go
+++ b/internal/fetch/load.go
@@ -418,7 +418,7 @@
GOARCH: goarch,
CgoEnabled: true,
Compiler: build.Default.Compiler,
- BuildTags: []string{"goexperiment.synctest"},
+ BuildTags: []string{"goexperiment.jsonv2", "goexperiment.synctest"},
ReleaseTags: build.Default.ReleaseTags,
JoinPath: path.Join,
diff --git a/internal/fetch/load_test.go b/internal/fetch/load_test.go
index a6b442c..4d907c3 100644
--- a/internal/fetch/load_test.go
+++ b/internal/fetch/load_test.go
@@ -27,6 +27,12 @@
package synctest
var X int
`
+ jsonv2Body := `
+ //go:build goexperiment.jsonv2
+
+ package json
+ var X int
+ `
plainContents := map[string]string{
"README.md": "THIS IS A README",
@@ -45,6 +51,11 @@
"st.go": synctestBody,
}
+ jsonv2Contents := map[string]string{
+ "plain.go": plainGoBody,
+ "json.go": jsonv2Body,
+ }
+
for _, test := range []struct {
name string
goos, goarch string
@@ -95,6 +106,16 @@
"st.go": []byte(synctestBody),
},
},
+ {
+ name: "jsonv2",
+ goos: "linux",
+ goarch: "amd64",
+ contents: jsonv2Contents,
+ want: map[string][]byte{
+ "plain.go": []byte(plainGoBody),
+ "json.go": []byte(jsonv2Body),
+ },
+ },
} {
t.Run(test.name, func(t *testing.T) {
files := map[string][]byte{}