diff --git a/kinds/gen.go b/kinds/gen.go index f0a1441cded..d3983becdf6 100644 --- a/kinds/gen.go +++ b/kinds/gen.go @@ -18,6 +18,7 @@ import ( "cuelang.org/go/cue" "cuelang.org/go/cue/cuecontext" "cuelang.org/go/cue/load" + "github.com/grafana/codejen" "github.com/grafana/cuetsy" "github.com/grafana/grafana/pkg/codegen" @@ -54,7 +55,7 @@ func main() { ) header := codegen.SlashHeaderMapper("kinds/gen.go") - coreKindsGen.AddPostprocessors(header) + coreKindsGen.AddPostprocessors(header, codegen.GoFormat()) ctx := cuecontext.New() diff --git a/pkg/codegen/go.mod b/pkg/codegen/go.mod index 7d02497c343..b857d6fca84 100644 --- a/pkg/codegen/go.mod +++ b/pkg/codegen/go.mod @@ -9,6 +9,7 @@ require ( github.com/grafana/cog v0.0.28 github.com/grafana/cuetsy v0.1.11 github.com/matryer/is v1.4.1 + golang.org/x/tools v0.32.0 ) require ( @@ -48,7 +49,6 @@ require ( golang.org/x/net v0.39.0 // indirect golang.org/x/sync v0.13.0 // indirect golang.org/x/text v0.24.0 // indirect - golang.org/x/tools v0.32.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/pkg/codegen/jenny_gofmt.go b/pkg/codegen/jenny_gofmt.go new file mode 100644 index 00000000000..aa61acd14aa --- /dev/null +++ b/pkg/codegen/jenny_gofmt.go @@ -0,0 +1,29 @@ +package codegen + +import ( + "go/format" + "path/filepath" + + "golang.org/x/tools/imports" + + "github.com/grafana/codejen" +) + +// GoFormat applies go format to each go file +func GoFormat() codejen.FileMapper { + return func(f codejen.File) (codejen.File, error) { + if filepath.Ext(f.RelativePath) != ".go" { + return f, nil + } + + formatted, err := format.Source(f.Data) + if err != nil { + return f, err + } + + f.Data, err = imports.Process("", formatted, &imports.Options{ + Comments: true, + }) + return f, err + } +} diff --git a/public/app/plugins/gen.go b/public/app/plugins/gen.go index 99fdca1721a..7b0f87e33dc 100644 --- a/public/app/plugins/gen.go +++ b/public/app/plugins/gen.go @@ -48,7 +48,11 @@ func main() { codegen.PluginTSTypesJenny("public/app/plugins"), ) - pluginKindGen.AddPostprocessors(corecodegen.SlashHeaderMapper("public/app/plugins/gen.go"), splitSchiffer()) + pluginKindGen.AddPostprocessors( + corecodegen.SlashHeaderMapper("public/app/plugins/gen.go"), + corecodegen.GoFormat(), + splitSchiffer(), + ) declParser := pfs.NewDeclParser(skipPlugins) decls, err := declParser.Parse(os.DirFS(cwd))