サーチ…


カスタムミックスタスクを作成する

# 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

コンパイルして実行する:

$ mix compile
$ mix my_task
"YO!"

コマンドライン引数を使用したカスタムミックスタスク

基本的な実装では、タスクモジュールは引数のリストを取るrun/1関数を定義しなければなりません。例えば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

コンパイルして実行する:

$ mix example_task world
"hello world"

エイリアス

Elixirでは、ミックスコマンドのエイリアスを追加することができます。クールなことは、あなた自身のいくつかの入力を保存したい場合。

あなたのElixirプロジェクトでmix.exsを開きます。

まず、 project関数が返すキーワードリストにaliases/0関数を追加します。 aliases関数の最後にAdding ()を指定すると、コンパイラーは警告をスローすることができません。

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

次に、 aliases/0関数を定義します(例: mix.exsファイルの一番下)。

  ...

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

Phoenixアプリケーションを実行している場合は、 $ mix go使ってPhoenixサーバを実行できます。また、 $ mix tridentを使用して、すべての依存関係をフェッチし、コンパイルし、サーバーを実行するようにmixに指示します。

利用可能なミックスタスクのヘルプを表示する

利用可能なミックスタスクを一覧表示するには、

mix help

特定のタスクに関するヘルプを得るには、 mix help task使用してください:

mix help cmd


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow