Skip to content

Commit 5bbbf46

Browse files
committed
feat(gengo): also put headers in internal package
1 parent d0b3259 commit 5bbbf46

File tree

4 files changed

+24
-10
lines changed

4 files changed

+24
-10
lines changed

cmd/gen.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ The code generated for your main package will be written in zz_generated.tektask
7979

8080
genFunc = genFuncPtr
8181

82-
genInternalPtr, err := gengo.NewGoInternal(ctx.Logger, outputPkgName)
82+
genInternalPtr, err := gengo.NewGoInternal(ctx.Logger, outputPkgName, headerFile, year)
8383
if err != nil {
8484
return err
8585
}

internal/gengo/gen_func.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ type FuncArgs struct {
6868
TemplatesArgs PerTemplateArgs
6969
}
7070

71-
func NewGoFunc(logger *slog.Logger, headerfile, year string) (*TaskGoFuncGenerator, error) {
71+
func NewGoFunc(logger *slog.Logger, headerFile, year string) (*TaskGoFuncGenerator, error) {
7272
g := &TaskGoFuncGenerator{
7373
Logger: logger.With("generator", "goFunc"),
7474
Template: &template.Template{},
75-
HeaderFile: headerfile,
75+
HeaderFile: headerFile,
7676
Year: year,
7777
}
7878

internal/gengo/gen_internal.go

+19-6
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,25 @@ import (
2222
"log/slog"
2323
"sigs.k8s.io/controller-tools/pkg/genall"
2424
"sigs.k8s.io/controller-tools/pkg/markers"
25+
"strings"
2526
"text/template"
2627
)
2728

2829
type TaskGoInternalGenerator struct {
29-
Logger *slog.Logger
30-
31-
Template *template.Template
32-
30+
Logger *slog.Logger
31+
Template *template.Template
3332
PackageName string
33+
HeaderFile string
34+
Year string
3435
}
3536

36-
func NewGoInternal(logger *slog.Logger, pkgName string) (*TaskGoInternalGenerator, error) {
37+
func NewGoInternal(logger *slog.Logger, pkgName, headerFile, year string) (*TaskGoInternalGenerator, error) {
3738
g := &TaskGoInternalGenerator{
3839
Logger: logger.With("generator", "goInternal"),
3940
Template: &template.Template{},
4041
PackageName: pkgName,
42+
HeaderFile: headerFile,
43+
Year: year,
4144
}
4245

4346
g.RegisterTemplate(GoHeaderName, GoHeaderTpl).
@@ -63,10 +66,20 @@ func (*TaskGoInternalGenerator) RegisterMarkers(into *markers.Registry) error {
6366

6467
func (g *TaskGoInternalGenerator) Generate(ctx *genall.GenerationContext) error {
6568
var headerBytes bytes.Buffer
69+
var headerText string
70+
71+
if g.HeaderFile != "" {
72+
buf, err := ctx.ReadFile(g.HeaderFile)
73+
if err != nil {
74+
return err
75+
}
76+
77+
headerText = strings.ReplaceAll(string(buf), " YEAR", " "+g.Year)
78+
}
6679

6780
headerArgs := GoHeaderArgs{
6881
PkgName: g.PackageName,
69-
Header: "// generated code",
82+
Header: headerText,
7083
ImportPaths: []string{
7184
"errors",
7285
"fmt",

internal/gengo/go_header.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ const GoHeaderName = "go.header"
2020

2121
const GoHeaderTpl = `{{- with .Header -}}
2222
{{.}}
23-
{{- end}}
23+
{{end -}}
24+
2425
package {{.PkgName}}
2526
2627
// This code is generated by Tektasker, DO NOT EDIT

0 commit comments

Comments
 (0)