From 1f0264a9ce8ad116058a834e517808b767d9b34b Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Sun, 10 May 2020 06:04:42 +0300 Subject: Use autogen --- compflag/gen/flags.go.gotmpl | 5 ----- compflag/gen/main.go | 37 +++++-------------------------------- 2 files changed, 5 insertions(+), 37 deletions(-) (limited to 'compflag/gen') diff --git a/compflag/gen/flags.go.gotmpl b/compflag/gen/flags.go.gotmpl index 9b65dd5..07dddc7 100644 --- a/compflag/gen/flags.go.gotmpl +++ b/compflag/gen/flags.go.gotmpl @@ -1,10 +1,5 @@ package compflag -// Code auto generated with `go run ./gen`. DO NOT EDIT - -//go:generate go run ./gen - - {{ range . }} // {{ .Name }} if a flag function for a flag of type {{ .Type }}. diff --git a/compflag/gen/main.go b/compflag/gen/main.go index cbea96f..d5601ca 100644 --- a/compflag/gen/main.go +++ b/compflag/gen/main.go @@ -3,15 +3,12 @@ package main import ( "log" - "os" - "path/filepath" "strings" - "text/template" - "github.com/posener/script" + "github.com/posener/autogen" ) -const tmplGlob = "gen/*.go.gotmpl" +//go:generate go run . type flag struct { Name string @@ -35,33 +32,9 @@ var flags = []flag{ {Name: "Duration", Type: "time.Duration"}, } -var tmpl = template.Must(template.ParseGlob(tmplGlob)) - func main() { - for _, t := range tmpl.Templates() { - fileName := outFileName(t.Name()) - f, err := os.Create(fileName) - if err != nil { - panic(err) - } - defer f.Close() - - log.Printf("Writing %s", fileName) - err = t.Execute(f, flags) - if err != nil { - panic(err) - } - - // Format the file. - err = script.ExecHandleStderr(os.Stderr, "goimports", "-w", fileName).ToStdout() - if err != nil { - panic(err) - } + err := autogen.Execute(flags) + if err != nil { + log.Fatal(err) } } - -func outFileName(templateName string) string { - name := filepath.Base(templateName) - // Remove .gotmpl suffix. - return name[:strings.LastIndex(name, ".")] -} -- cgit v1.2.3