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