defmodule Mix.Tasks.StarView.Setup.Streaming.Docs do @moduledoc false def short_doc(), do: "Adds StarView stream registry to the supervision tree" def example(), do: "mix star_view.setup.streaming" def long_doc(), do: "#{short_doc()}" end if Code.ensure_loaded?(Igniter) do defmodule Mix.Tasks.StarView.Setup.Streaming do @shortdoc "#{__MODULE__.Docs.short_doc()}" @moduledoc __MODULE__.Docs.long_doc() use Igniter.Mix.Task @impl Igniter.Mix.Task def info(_argv, _composing_task) do %Igniter.Mix.Task.Info{ group: :star_view, adds_deps: [], installs: [], example: __MODULE__.Docs.example(), only: nil, positional: [], composes: [], schema: [], defaults: [], aliases: [], required: [] } end @impl Igniter.Mix.Task def igniter(igniter) do Igniter.Project.Application.add_new_child( igniter, StarView.Utility.StreamRegistry, after: [Phoenix.PubSub] ) end end else defmodule Mix.Tasks.StarView.Setup.Streaming do @shortdoc "#{__MODULE__.Docs.short_doc()} | Install `igniter` to use" @moduledoc __MODULE__.Docs.long_doc() use Mix.Task @impl Mix.Task def run(_argv) do Mix.shell().error("Requires igniter.") exit({:shutdown, 1}) end end end