Regenerate Go2TS output via //go:generate in Infra-PerCommit-Large.
This will make Infra-PerCommit-Large fail when the Go2TS output does not match the checked in files.
The goal is to keep the TypeScript types up to date, and to detect any unintended changes.
Change-Id: I2d03b9925f02674af53049c4c386fe71931d319a
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/331996
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
diff --git a/bugs-central/go/types/ts/main.go b/bugs-central/go/types/ts/main.go
index 5ada02c..e49a64d 100644
--- a/bugs-central/go/types/ts/main.go
+++ b/bugs-central/go/types/ts/main.go
@@ -1,8 +1,11 @@
// Program to generate TypeScript definition files for Golang structs that are
// serialized to JSON for the web UI.
+//
+//go:generate go run . -o ../../../modules/json/index.ts
package main
import (
+ "flag"
"io"
"github.com/skia-dev/go2ts"
@@ -12,6 +15,9 @@
)
func main() {
+ var outputPath = flag.String("o", "", "Path to the output TypeScript file.")
+ flag.Parse()
+
generator := go2ts.New()
generator.AddMultiple(
types.IssueCountsData{},
@@ -22,7 +28,7 @@
types.GetClientCountsResponse{},
types.GetChartsDataResponse{})
- err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+ err := util.WithWriteFile(*outputPath, func(w io.Writer) error {
return generator.Render(w)
})
if err != nil {
diff --git a/fiddlek/go/ts/main.go b/fiddlek/go/ts/main.go
index 8a308cf..0af145e 100644
--- a/fiddlek/go/ts/main.go
+++ b/fiddlek/go/ts/main.go
@@ -1,8 +1,11 @@
-// Program to generate TypeScript definition files for Goland structs that are
+// Program to generate TypeScript definition files for Golang structs that are
// serialized to JSON for the web UI.
+//
+//go:generate go run . -o ../../modules/json/index.ts
package main
import (
+ "flag"
"io"
"github.com/skia-dev/go2ts"
@@ -12,6 +15,9 @@
)
func main() {
+ var outputPath = flag.String("o", "", "Path to the output TypeScript file.")
+ flag.Parse()
+
generator := go2ts.New()
generator.AddMultiple(
types.Options{},
@@ -19,7 +25,7 @@
types.FiddleContext{},
)
- err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+ err := util.WithWriteFile(*outputPath, func(w io.Writer) error {
return generator.Render(w)
})
if err != nil {
diff --git a/golden/go/web/frontend/generate.go b/golden/go/web/frontend/generate.go
deleted file mode 100644
index bd6e9e3..0000000
--- a/golden/go/web/frontend/generate.go
+++ /dev/null
@@ -1,3 +0,0 @@
-package frontend
-
-//go:generate go run ./generate_typescript_rpc_types -o ../../../modules/rpc_types.ts
diff --git a/golden/go/web/frontend/generate_typescript_rpc_types/main.go b/golden/go/web/frontend/generate_typescript_rpc_types/main.go
index fbbeae8..a5314ad 100644
--- a/golden/go/web/frontend/generate_typescript_rpc_types/main.go
+++ b/golden/go/web/frontend/generate_typescript_rpc_types/main.go
@@ -1,3 +1,5 @@
+//go:generate go run . -o ../../../../modules/rpc_types.ts
+
package main
import (
diff --git a/machine/go/machine/ts/main.go b/machine/go/machine/ts/main.go
index 20ec333..6a8a931 100644
--- a/machine/go/machine/ts/main.go
+++ b/machine/go/machine/ts/main.go
@@ -1,8 +1,11 @@
// Program to generate TypeScript definition files for Golang structs that are
// serialized to JSON for the web UI.
+//
+//go:generate go run . -o ../../../modules/json/index.ts
package main
import (
+ "flag"
"io"
"github.com/skia-dev/go2ts"
@@ -12,11 +15,14 @@
)
func main() {
+ var outputPath = flag.String("o", "", "Path to the output TypeScript file.")
+ flag.Parse()
+
generator := go2ts.New()
generator.Add(machine.Description{})
generator.AddUnion(machine.AllModes)
- err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+ err := util.WithWriteFile(*outputPath, func(w io.Writer) error {
return generator.Render(w)
})
if err != nil {
diff --git a/perf/go/ts/main.go b/perf/go/ts/main.go
index f435a35..26db29c 100644
--- a/perf/go/ts/main.go
+++ b/perf/go/ts/main.go
@@ -1,8 +1,11 @@
-// Program to generate TypeScript definition files for Goland structs that are
+// Program to generate TypeScript definition files for Golang structs that are
// serialized to JSON for the web UI.
+//
+//go:generate go run . -o ../../modules/json/index.ts
package main
import (
+ "flag"
"io"
"github.com/skia-dev/go2ts"
@@ -40,6 +43,9 @@
}
func main() {
+ var outputPath = flag.String("o", "", "Path to the output TypeScript file.")
+ flag.Parse()
+
generator := go2ts.New()
generator.AddMultiple(generator,
IgnoreNil{}, // Goes first to ensure the ignorenil version of structs are seen first.
@@ -90,7 +96,7 @@
{types.AllStepDetections, "StepDetection"},
{results.AllRequestKind, "TryBotRequestKind"},
})
- err := util.WithWriteFile("./modules/json/index.ts", func(w io.Writer) error {
+ err := util.WithWriteFile(*outputPath, func(w io.Writer) error {
return generator.Render(w)
})
if err != nil {