Packages
nerves_bootstrap
1.11.2
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.0
1.13.1
1.13.0
1.12.2
1.12.1
1.12.0
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
1.8.0
1.7.1
1.7.0
1.6.3
1.6.2
1.6.1
1.6.0
1.5.3
1.5.2
1.5.1
1.5.0
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
Nerves mix integration bootstrap and new project generator
Current section
Files
Jump to
Current section
Files
lib/attic/loadpaths.ex
defmodule Mix.Tasks.Nerves.Loadpaths do
@moduledoc deprecated: "Tasks from :nerves should be used instead"
use Mix.Task
import Mix.Nerves.IO
@impl Mix.Task
def run(_args) do
unless System.get_env("NERVES_PRECOMPILE") == "1" do
debug_info("Loadpaths Start")
Mix.Task.run("nerves.precompile", ["--no-loadpaths"])
try do
nerves_env_info()
Mix.Task.run("nerves.env", [])
Nerves.Env.bootstrap()
clear_deps_cache()
env_info()
rescue
e ->
reraise e, __STACKTRACE__
end
debug_info("Loadpaths End")
end
end
defp env(k) do
case System.get_env(k) do
unset when unset == nil or unset == "" -> "unset"
set -> Path.relative_to_cwd(set)
end
end
defp env_info() do
debug_info("Environment Variable List", """
target: #{Nerves.Bootstrap.mix_target()}
toolchain: #{env("NERVES_TOOLCHAIN")}
system: #{env("NERVES_SYSTEM")}
app: #{env("NERVES_APP")}
""")
end
defp clear_deps_cache() do
if :erlang.function_exported(Mix.Project, :clear_deps_cache, 0) do
apply(Mix.Project, :clear_deps_cache, [])
else
if project = Mix.Project.get() do
key = {:cached_deps, Mix.env(), project}
Agent.cast(Mix.ProjectStack, &%{&1 | cache: Map.delete(&1.cache, key)})
end
end
end
end