Buscar..


Crear una tarea de mezcla personalizada

# 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

Compilar y ejecutar:

$ mix compile
$ mix my_task
"YO!"

Tarea de mezcla personalizada con argumentos de línea de comando

En una implementación básica, el módulo de tareas debe definir una función run/1 que tome una lista de argumentos. Ej. 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

Compilar y ejecutar:

$ mix example_task world
"hello world"

Alias

Elixir le permite agregar alias para sus comandos de mezcla. Algo genial si quieres ahorrarte algo de mecanografía.

Abra mix.exs en su proyecto Elixir.

Primero, agregue la función aliases/0 a la lista de palabras clave que devuelve la función del project . Agregar () al final de la función de alias evitará que el compilador emita una advertencia.

  def project do
    [app: :my_app,
     ...
     aliases: aliases()]
  end

Luego, defina su función aliases/0 (por ejemplo, en la parte inferior de su archivo mix.exs ).

  ...

  defp aliases do
    [go: "phoenix.server",
     trident: "do deps.get, compile, go"]
  end

Ahora puede usar $ mix go para ejecutar su servidor Phoenix (si está ejecutando una aplicación Phoenix ). Y use $ mix trident para indicar a la mezcla que capte todas las dependencias, compile y ejecute el servidor.

Obtenga ayuda sobre las tareas de mezcla disponibles

Para listar las tareas de mezcla disponibles use:

mix help

Para obtener ayuda sobre una tarea específica, use la mix help task por ejemplo:

mix help cmd


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow