22 lines
505 B
Elixir
22 lines
505 B
Elixir
defmodule Mix.Tasks.Mash do
|
|
@shortdoc "Run Mash jobs."
|
|
|
|
@moduledoc """
|
|
Task to run Mash jobs.
|
|
"""
|
|
use Mix.Task
|
|
|
|
def run(_args) do
|
|
{:ok, _pid} = Mash.Runner.start_link()
|
|
|
|
receive do
|
|
{:result, []} ->
|
|
:ok
|
|
|
|
{:result, failures} ->
|
|
failure_list = Enum.map_join(failures, "\n", fn %{name: name} -> "- #{name}" end)
|
|
failure_count = Enum.count(failures)
|
|
Mix.raise("#{failure_count} job(s) failed.\n#{failure_list}", exit_status: 1)
|
|
end
|
|
end
|
|
end
|