diff --git a/pkg/generator/gen_handler.go b/pkg/generator/gen_handler.go new file mode 100644 index 0000000000..9c4367ce63 --- /dev/null +++ b/pkg/generator/gen_handler.go @@ -0,0 +1,27 @@ +package generator + +import ( + "io" + "text/template" +) + +// Handler contains all the customized data needed to generate stub/handler.go for a new operator +// when pairing with handlerTmpl template. +type Handler struct { + // imports + OperatorSDKImport string +} + +// renderHandler generates the stub/handler.go file. +func renderHandler(w io.Writer) error { + t := template.New("stub/handler.go") + t, err := t.Parse(handlerTmpl) + if err != nil { + return err + } + + h := Handler{ + OperatorSDKImport: sdkImport, + } + return t.Execute(w, h) +} diff --git a/pkg/generator/handler_tmpl.go b/pkg/generator/handler_tmpl.go new file mode 100644 index 0000000000..d8940aaed2 --- /dev/null +++ b/pkg/generator/handler_tmpl.go @@ -0,0 +1,17 @@ +package generator + +// handlerTmpl is the template for stub/handler.go. +const handlerTmpl = `package stub + +import ( + "{{.OperatorSDKImport}}/types" +) + +type Handler struct { + // Fill me +} + +func (h *Handler) Handle(ctx types.Context, event types.Event) { + // Fill me +} +`