Current section

Files

Jump to
nerves_bootstrap lib mix tasks nerves loadpaths.ex
Raw

lib/mix/tasks/nerves/loadpaths.ex

defmodule Mix.Tasks.Nerves.Loadpaths do
use Mix.Task
import Mix.Nerves.IO
def run(_args) do
unless System.get_env("NERVES_PRECOMPILE") == "1" do
debug_info "Loadpaths Start"
case Code.ensure_compiled?(Nerves.Env) do
true ->
try do
Mix.Task.run("nerves.env", [])
Nerves.Env.bootstrap
env_info()
rescue
e ->
reraise e, System.stacktrace()
end
false ->
debug_info "Env not loaded"
end
debug_info "Loadpaths End"
end
end
def env(k) do
case System.get_env(k) do
unset when unset == nil or unset == "" -> "unset"
set -> Path.relative_to_cwd(set)
end
end
def env_info do
debug_info "Environment Variable List", """
target: #{Mix.Project.config[:target] || "unset"}
toolchain: #{env("NERVES_TOOLCHAIN")}
system: #{env("NERVES_SYSTEM")}
app: #{env("NERVES_APP")}
"""
end
end