Packages

A building blocks for CQRS segregated applications

Current section

Files

Jump to
helios lib mix tasks helios.server.ex
Raw

lib/mix/tasks/helios.server.ex

defmodule Mix.Tasks.Helios.Server do
use Mix.Task
@shortdoc "Starts applications and their servers"
@moduledoc """
Starts the application by configuring all endpoints servers to run.
## Command line options
This task accepts the same command-line arguments as `run`.
For additional information, refer to the documentation for
`Mix.Tasks.Run`.
For example, to run `helios.server` without recompiling:
mix helios.server --no-compile
The `--no-halt` flag is automatically added.
Note that the `--no-deps-check` flag cannot be used this way,
because Mix needs to check dependencies to find `helios.server`.
To run `helios.server` without checking dependencies, you can run:
mix do deps.loadpaths --no-deps-check, helios.server
"""
@doc false
def run(args) do
Application.put_env(:phoenix, :serve_endpoints, true, persistent: true)
Mix.Tasks.Run.run run_args() ++ args
end
defp run_args do
if iex_running?(), do: [], else: ["--no-halt"]
end
defp iex_running? do
Code.ensure_loaded?(IEx) and IEx.started?
end
end