Guide de style
Ceci est le guide officiel du style Task pour les fichiers Taskfile.yml
. Ce guide contient quelques instructions de base pour garder votre Taskfile propre et familier à autres utilisateurs.
Il contient des directives générales, mais elles ne doivent pas nécessairement être strictement respectées. N'hésitez pas à procéder différemment si vous en avez le besoin ou que vous le souhaitez. Aussi, n'hésitez pas à [ouvrir une issue](https://github. com/go-task/task/issues/new/choose) ou [faire une pull request](https://github. com/go-task/task/compare) pour améliorer ce guide.
Utiliser Taskfile.yml
et non taskfile.yml
# bad
taskfile.yml
# good
Taskfile.yml
C'est important, surtout pour les utilisateurs Linux. Windows et MacOS ont un système de fichiers insensibles à la casse, donc taskfile.yml
fonctionnera, même si ce n'est pas officiellement supporté. Sur Linux, uniquement Taskfile.yml
fonctionnera.
Utiliser les mots-clés dans l'ordre correct
version:
includes:
- Configuration ones, like
output:
,silent:
,method:
andrun:
vars:
env:
,dotenv:
tasks:
Utiliser 2 espaces pour l'indentation
C'est la convention la plus courante pour les fichiers YAML et Task suit cette convention.
# bad
tasks:
foo:
cmds:
- echo 'foo'
# good
tasks:
foo:
cmds:
- echo 'foo'
Séparer les sections principales avec un retour à la ligne
# bad
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...
# good
version: '3'
includes:
docker: ./docker/Taskfile.yml
output: prefixed
vars:
FOO: bar
env:
BAR: baz
tasks:
# ...
Ajouter des retours à la ligne entre les tâches
# bad
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'
# good
version: '3'
tasks:
foo:
cmds:
- echo 'foo'
bar:
cmds:
- echo 'bar'
baz:
cmds:
- echo 'baz'
Utiliser des noms de variables en majuscule
# bad
version: '3'
vars:
binary_name: myapp
tasks:
build:
cmds:
- go build -o {{.binary_name}} .
# good
version: '3'
vars:
BINARY_NAME: myapp
tasks:
build:
cmds:
- go build -o {{.BINARY_NAME}} .
Ne pas mettre d'espaces autour des variables lors de l'utilisation
# bad
version: '3'
tasks:
greet:
cmds:
- echo '{{ .MESSAGE }}'
# good
version: '3'
tasks:
greet:
cmds:
- echo '{{.MESSAGE}}'
Cette convention est aussi utilisée par la plupart des gens pour n'importe quel modèle Go.
Séparer les mots du nom de la tâche par un tiret
# bad
version: '3'
tasks:
do_something_fancy:
cmds:
- echo 'Do something'
# good
version: '3'
tasks:
do-something-fancy:
cmds:
- echo 'Do something'
Utiliser les deux-points pour nommer les namespaces de tâche
# good
version: '3'
tasks:
docker:build:
cmds:
- docker ...
docker:run:
cmds:
- docker-compose ...
C'est aussi fait automatiquement quand vous incluez des Taskfiles.
Préférer les scripts externes à des commandes complexes à plusieurs lignes
# Incorrect
version: '3'
tasks:
build:
cmds:
- |
for i in $(seq 1 10); do
echo $i
echo "some other complex logic"
done'
# Correct
version: '3'
tasks:
build:
cmds:
- ./scripts/my_complex_script.sh