mash/lib/mix/tasks/mash.ex
2023-08-17 20:13:47 +00:00

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