Elixir Language
Mélanger
Recherche…
Créer une tâche de mixage personnalisée
# lib/mix/tasks/mytask.ex
defmodule Mix.Tasks.MyTask do
use Mix.Task
@shortdoc "A simple mix task"
def run(_) do
IO.puts "YO!"
end
end
Compiler et exécuter:
$ mix compile
$ mix my_task
"YO!"
Tâche de mixage personnalisée avec des arguments de ligne de commande
Dans une implémentation de base, le module de tâche doit définir une run/1
qui prend une liste d'arguments. Par exemple, def run(args) do ... end
defmodule Mix.Tasks.Example_Task do
use Mix.Task
@shortdoc "Example_Task prints hello + its arguments"
def run(args) do
IO.puts "Hello #{args}"
end
end
Compiler et exécuter:
$ mix example_task world
"hello world"
Alias
Elixir vous permet d'ajouter des alias pour vos commandes de mixage. Chose cool si vous voulez vous épargner de la frappe.
Ouvrez mix.exs
dans votre projet Elixir.
Tout d'abord, ajoutez la fonction aliases/0
à la liste de mots clés renvoyée par la fonction project
. Ajouter ()
à la fin de la fonction alias empêchera le compilateur de lancer un avertissement.
def project do
[app: :my_app,
...
aliases: aliases()]
end
Ensuite, définissez votre fonction aliases/0
(par exemple en bas de votre fichier mix.exs
).
...
defp aliases do
[go: "phoenix.server",
trident: "do deps.get, compile, go"]
end
Vous pouvez maintenant utiliser $ mix go
pour exécuter votre serveur Phoenix (si vous utilisez une application Phoenix ). Et utilisez $ mix trident
pour dire à mix de récupérer toutes les dépendances, compiler et exécuter le serveur.
Obtenir de l'aide sur les tâches de mixage disponibles
Pour répertorier les tâches de mixage disponibles, utilisez:
mix help
Pour obtenir de l'aide sur une tâche spécifique, utilisez la tâche d'aide de mix help task
par exemple:
mix help cmd