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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow