From 8f48aeeb8fde115938193e7b52217644b8ca2bfe Mon Sep 17 00:00:00 2001 From: fanmin shi Date: Wed, 21 Feb 2018 11:27:03 -0800 Subject: [PATCH] pkg/generator: add stub/handler.go generator --- pkg/generator/gen_handler.go | 27 +++++++++++++++++++++++++++ pkg/generator/handler_tmpl.go | 17 +++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 pkg/generator/gen_handler.go create mode 100644 pkg/generator/handler_tmpl.go 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 +} +`