As of December 1st, 2019 Buffalo, and all related packages, require Go Modules and the use of the GOPATH is no longer supported.

Please see this blog post for more information https://blog.gobuffalo.io/the-road-to-1-0-requiring-modules-5672c6b015e5.

Tâches

Les tâches sont des petits scripts qui sont souvent nécessaires lorsque l'on écrit une application. Ces tâches peuvent par exemple remplir la base de données avec des données de test, parser un fichier de log, ou encore empaqueter une nouvelle version. Buffalo utilise la bibliothèque grift pour faciliter l'écriture de ces tâches.

Écrire des tâches

Les tâches doivent toutes se trouver dans le package grifts. Une tâche simple devrait ressembler à ceci :

var _ = grift.Add("hello", func(c *grift.Context) error {
  fmt.Println("Hello!")
  return nil
})

Générateur de tâches

$ buffalo g task foo:bar

--> grifts/bar.go
// grifts/bar.go
package grifts

import (
  . "github.com/markbates/grift/grift"
)

var _ = Namespace("foo", func() {

  Desc("bar", "TODO")
  Add("bar", func(c *Context) error {
    return nil
  })

})

Lister les tâches disponibles

$ buffalo task list

Available grifts
================
buffalo task middleware    # Prints out your middleware stack
buffalo task routes        # Print out all defined routes
buffalo task secret        # Generate a cryptographically secure secret key

Exécuter des tâches

En mode développement

Les tâches peuvent être exécutées en mode développement en utilisant la commande buffalo task.

$ buffalo task hello

Depuis le binaire de votre app

Après la compilation de votre binaire, les tâches peuvent être lancées en utilisant la sous-commande task :

$ monapp task hello