github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/build/transform_main.go (about) 1 package build 2 3 import ( 4 "strings" 5 "sync" 6 7 "github.com/gobuffalo/genny/v2" 8 ) 9 10 func transformMain(opts *Options) genny.RunFn { 11 if opts.rollback == nil { 12 opts.rollback = &sync.Map{} 13 } 14 return func(r *genny.Runner) error { 15 f, err := r.FindFile("main.go") 16 if err != nil { 17 return err 18 } 19 opts.rollback.Store(f.Name(), f.String()) 20 s := strings.Replace(f.String(), "func main()", "func originalMain()", -1) 21 f = genny.NewFile(f.Name(), strings.NewReader(s)) 22 return r.File(f) 23 } 24 }