mash/lib/mix/tasks/mash.ex

23 lines
505 B
Elixir
Raw Normal View History

2023-08-10 08:30:20 +00:00
defmodule Mix.Tasks.Mash do
2023-08-17 20:13:47 +00:00
@shortdoc "Run Mash jobs."
2023-08-10 08:30:20 +00:00
@moduledoc """
Task to run Mash jobs.
"""
use Mix.Task
def run(_args) do
{:ok, _pid} = Mash.Runner.start_link()
receive do
2023-08-17 20:13:47 +00:00
{:result, []} ->
2023-08-10 08:30:20 +00:00
:ok
2023-08-17 20:13:47 +00:00
{: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)
2023-08-10 08:30:20 +00:00
end
end
end