github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/internal/plugins/grifts/generator/generator.go (about) 1 package generator 2 3 import ( 4 "context" 5 6 "github.com/gobuffalo/buffalo-cli/v2/cli/cmds/generate" 7 "github.com/gobuffalo/genny/v2" 8 "github.com/gobuffalo/genny/v2/gogen" 9 "github.com/gobuffalo/plugins" 10 "github.com/gobuffalo/plugins/plugcmd" 11 "github.com/gobuffalo/plugins/plugprint" 12 ) 13 14 var _ generate.Generator = &Generator{} 15 var _ plugcmd.Aliaser = Generator{} 16 var _ plugcmd.Namer = Generator{} 17 var _ plugins.Plugin = Generator{} 18 var _ plugprint.Describer = Generator{} 19 20 type Generator struct{} 21 22 func (Generator) PluginName() string { 23 return "grifts/generator" 24 } 25 26 func (Generator) CmdName() string { 27 return "grift" 28 } 29 30 func (Generator) CmdAliases() []string { 31 return []string{"task"} 32 } 33 34 func (Generator) Description() string { 35 return "Generate a grift task" 36 } 37 38 func (gen *Generator) Generate(ctx context.Context, root string, args []string) error { 39 run := genny.WetRunner(context.Background()) 40 41 opts := &Options{} 42 opts.Args = args 43 g, err := New(opts) 44 if err != nil { 45 return plugins.Wrap(gen, err) 46 } 47 run.With(g) 48 49 g, err = gogen.Fmt(root) 50 if err != nil { 51 return plugins.Wrap(gen, err) 52 } 53 run.With(g) 54 55 return run.Run() 56 }