Elixir Language
混合
サーチ…
カスタムミックスタスクを作成する
# 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