github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/build/templates/buffalo_build_main.go.plush (about) 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 "os/exec" 8 "time" 9 10 "github.com/markbates/grift/grift" 11 "github.com/gobuffalo/buffalo/runtime" 12 _ "<%= opts.PackagePkg %>/a" 13 _ "<%= opts.ActionsPkg %>" 14 <%= if (opts.WithPop) { %> 15 "github.com/gobuffalo/packr/v2" 16 "github.com/gobuffalo/pop/v5" 17 "<%= opts.ModelsPkg %>" 18 <% } %> 19 <%= if (opts.WithGrifts) { %> 20 _ "<%= opts.GriftsPkg %>" 21 <% } %> 22 ) 23 24 func init() { 25 t, err := time.Parse(time.RFC3339, "<%= buildTime %>") 26 if err != nil { 27 fmt.Println(err) 28 } 29 runtime.SetBuild(runtime.BuildInfo{ 30 Version: "<%= buildVersion %>", 31 Time: t, 32 }) 33 } 34 35 func main() { 36 args := os.Args 37 var originalArgs []string 38 for i, arg := range args { 39 if arg == "--" { 40 originalArgs = append([]string{args[0]}, args[i+1:]...) 41 args = args[:i] 42 break 43 } 44 } 45 if len(args) == 1 { 46 if len(originalArgs) != 0 { 47 os.Args = originalArgs 48 } 49 originalMain() 50 return 51 } 52 c := args[1] 53 switch c { 54 <%= if (opts.WithPop) { %> 55 case "migrate": 56 migrate() 57 <% } %> 58 case "version": 59 printVersion() 60 case "task", "t", "tasks": 61 if len(args) < 3 { 62 log.Fatal("not enough arguments passed to task") 63 } 64 c := grift.NewContext(args[2]) 65 if len(args) > 2 { 66 c.Args = args[3:] 67 } 68 err := grift.Run(args[2], c) 69 if err != nil { 70 log.Fatal(err) 71 } 72 default: 73 if _, err := exec.LookPath("buffalo"); err != nil { 74 if err != nil { 75 log.Fatal(err) 76 } 77 } 78 cmd := exec.Command("buffalo", args[1:]...) 79 cmd.Stdin = os.Stdin 80 cmd.Stdout = os.Stdout 81 cmd.Stderr = os.Stderr 82 err := cmd.Run() 83 if err != nil { 84 log.Fatal(err) 85 } 86 } 87 } 88 89 func printVersion() { 90 fmt.Printf("<%= opts.Name.Title() %> version %s\n", runtime.Build()) 91 } 92 93 <%= if (opts.WithPop) { %> 94 func migrate() { 95 box, err := pop.NewMigrationBox(packr.New("app:migrations", "./migrations"), models.DB) 96 if err != nil { 97 log.Fatalf("Failed to unpack migrations: %s", err) 98 } 99 err = box.Up() 100 if err != nil { 101 log.Fatalf("Failed to run migrations: %s", err) 102 } 103 } 104 <% } %>