github.com/jacobsoderblom/buffalo@v0.11.0/buffalo/cmd/build/templates/main.go.tmpl (about) 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 8 "github.com/markbates/grift/grift" 9 _ "<%= opts.PackagePkg %>/a" 10 _ "<%= opts.ActionsPkg %>" 11 <%= if (opts.WithPop) { %> 12 "github.com/gobuffalo/packr" 13 "github.com/gobuffalo/pop" 14 "<%= opts.ModelsPkg %>" 15 <% } %> 16 <%= if (opts.WithGrifts) { %> 17 _ "<%= opts.GriftsPkg %>" 18 <% } %> 19 ) 20 21 var BuildVersion = "unknown" 22 var BuildTime = "unknown" 23 24 func main() { 25 args := os.Args 26 if len(args) == 1 { 27 originalMain() 28 } 29 c := args[1] 30 switch c { 31 <%= if (opts.WithPop) { %> 32 case "migrate": 33 migrate() 34 <% } %> 35 case "version": 36 printVersion() 37 case "task", "t", "tasks": 38 if len(args) < 3 { 39 log.Fatal("not enough arguments passed to task") 40 } 41 c := grift.NewContext(args[2]) 42 if len(args) > 2 { 43 c.Args = args[3:] 44 } 45 err := grift.Run(args[2], c) 46 if err != nil { 47 log.Fatal(err) 48 } 49 default: 50 originalMain() 51 } 52 } 53 54 func printVersion() { 55 fmt.Printf("<%= opts.Name.Title() %> version %s (%s)\n", BuildVersion, BuildTime) 56 } 57 58 <%= if (opts.WithPop) { %> 59 func migrate() { 60 box, err := pop.NewMigrationBox(packr.NewBox("./migrations"), models.DB) 61 if err != nil { 62 log.Fatalf("Failed to unpack migrations: %s", err) 63 } 64 err = box.Up() 65 if err != nil { 66 log.Fatalf("Failed to run migrations: %s", err) 67 } 68 } 69 <% } %>