Codegen: format golang code from cue (#105352)

pull/105358/head
Ryan McKinley 1 month ago committed by GitHub
parent a26d907dae
commit f0d6375b3b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      kinds/gen.go
  2. 2
      pkg/codegen/go.mod
  3. 29
      pkg/codegen/jenny_gofmt.go
  4. 6
      public/app/plugins/gen.go

@ -18,6 +18,7 @@ import (
"cuelang.org/go/cue" "cuelang.org/go/cue"
"cuelang.org/go/cue/cuecontext" "cuelang.org/go/cue/cuecontext"
"cuelang.org/go/cue/load" "cuelang.org/go/cue/load"
"github.com/grafana/codejen" "github.com/grafana/codejen"
"github.com/grafana/cuetsy" "github.com/grafana/cuetsy"
"github.com/grafana/grafana/pkg/codegen" "github.com/grafana/grafana/pkg/codegen"
@ -54,7 +55,7 @@ func main() {
) )
header := codegen.SlashHeaderMapper("kinds/gen.go") header := codegen.SlashHeaderMapper("kinds/gen.go")
coreKindsGen.AddPostprocessors(header) coreKindsGen.AddPostprocessors(header, codegen.GoFormat())
ctx := cuecontext.New() ctx := cuecontext.New()

@ -9,6 +9,7 @@ require (
github.com/grafana/cog v0.0.28 github.com/grafana/cog v0.0.28
github.com/grafana/cuetsy v0.1.11 github.com/grafana/cuetsy v0.1.11
github.com/matryer/is v1.4.1 github.com/matryer/is v1.4.1
golang.org/x/tools v0.32.0
) )
require ( require (
@ -48,7 +49,6 @@ require (
golang.org/x/net v0.39.0 // indirect golang.org/x/net v0.39.0 // indirect
golang.org/x/sync v0.13.0 // indirect golang.org/x/sync v0.13.0 // indirect
golang.org/x/text v0.24.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 gopkg.in/yaml.v3 v3.0.1 // indirect
) )

@ -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
}
}

@ -48,7 +48,11 @@ func main() {
codegen.PluginTSTypesJenny("public/app/plugins"), 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) declParser := pfs.NewDeclParser(skipPlugins)
decls, err := declParser.Parse(os.DirFS(cwd)) decls, err := declParser.Parse(os.DirFS(cwd))

Loading…
Cancel
Save