Current section

Files

Jump to
nerves lib nerves.ex
Raw

lib/nerves.ex

defmodule Nerves do
use Mix.Releases.Plugin
def before_assembly(release, _opts) do
if nerves_env_loaded?() do
profile =
release.profile
|> Map.put(:dev_mode, false)
|> Map.put(:include_src, false)
|> Map.put(:include_erts, System.get_env("ERL_LIB_DIR"))
|> Map.put(:include_system_libs, System.get_env("ERL_SYSTEM_LIB_DIR"))
|> Map.put_new(:vm_args, "rel/vm.args")
%{release | profile: profile}
else
release
end
end
def after_assembly(%Release{} = release, _opts) do
release
end
def before_package(%Release{} = release, _opts) do
release
end
def after_package(%Release{} = release, _opts) do
release
end
def after_cleanup(_args, _opts) do
:noop
end
def version, do: unquote(Mix.Project.config()[:version])
def elixir_version, do: unquote(System.version())
def nerves_env_loaded? do
System.get_env("NERVES_PRECOMPILE") != nil
end
end