github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/docker/docker.go (about) 1 package docker 2 3 import ( 4 "text/template" 5 6 "github.com/gobuffalo/genny/v2" 7 "github.com/gobuffalo/genny/v2/gogen" 8 "github.com/gobuffalo/packr/v2" 9 ) 10 11 func New(opts *Options) (*genny.Generator, error) { 12 g := genny.New() 13 14 if err := opts.Validate(); err != nil { 15 return g, err 16 } 17 18 data := map[string]interface{}{ 19 "opts": opts, 20 } 21 22 g.Box(packr.New("github.com/gobuffalo/buffalo/common", "../docker/templates/common")) 23 24 switch opts.Style { 25 case "multi": 26 g.Box(packr.New("github.com/gobuffalo/buffalo/multi", "../docker/templates/multi")) 27 case "standard": 28 g.Box(packr.New("github.com/gobuffalo/buffalo/standard", "../docker/templates/standard")) 29 } 30 31 helpers := template.FuncMap{} 32 t := gogen.TemplateTransformer(data, helpers) 33 g.Transformer(t) 34 g.Transformer(genny.Dot()) 35 36 return g, nil 37 }