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  <% } %>