有没有办法挂钩Elixir的Mix内置任务,在另一个任务完成后执行任务?
我知道你可以做类似的事情。
defmodule Mix.Tasks.Other.Get
use Mix.Task
@shortdoc "Other dependencies?"
def run(_) do
Mix.Task.run("deps.get")
end
end
但我有点想在mix deps.get
考虑使用make
来包装最有意义的命令之后立即运行任务。 (即make deps
将同时运行mix deps.get
然后mix other.get
)
答案 0 :(得分:4)
您可以使用Mix alias:
defmodule MyApp.MixProject do
use Mix.Project
def project do
[
app: :my_app,
version: "1.0.0",
aliases: aliases()
]
end
defp aliases do
[
"deps.get": ["deps.get", "custom.task"]
]
end
end