Current section
Files
Jump to
Current section
Files
lib/mix/tasks/ecto_context.install.ex
defmodule Mix.Tasks.EctoContext.Install.Docs do
@moduledoc false
def short_doc, do: "Applies ecto_context setup to the project"
def example, do: "mix ecto_context.install"
def long_doc do
"""
#{short_doc()}
Imports ecto_context into the project's `.formatter.exs`. Invoked
automatically when ecto_context is added via `mix igniter.install`.
## Example
```sh
#{example()}
```
"""
end
end
if Code.ensure_loaded?(Igniter) do
defmodule Mix.Tasks.EctoContext.Install 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: :ecto_context,
example: __MODULE__.Docs.example()
}
end
@impl Igniter.Mix.Task
def igniter(igniter) do
igniter
|> Igniter.Project.Formatter.import_dep(:ecto_context)
end
end
else
defmodule Mix.Tasks.EctoContext.Install 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("""
The task 'ecto_context.install' requires igniter. Please install igniter and try again.
""")
exit({:shutdown, 1})
end
end
end