Packages
nerves_bootstrap
0.6.3
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/mix/tasks/nerves/precompile.ex
defmodule Mix.Tasks.Nerves.Precompile do
use Mix.Task
import Mix.Nerves.IO
def run(_args) do
debug_info "Precompile Start"
# Note: We have to directly use the environment variable here instead of
# calling Nerves.Env.enabled?/0 because the nerves.precompile step happens
# before the nerves dependency is compiled, which is where Nerves.Env
# currently lives. This would be improved by moving Nerves.Env to
# nerves_bootstrap.
unless System.get_env("NERVES_ENV_DISABLED") do
System.put_env("NERVES_PRECOMPILE", "1")
Mix.Tasks.Nerves.Env.run []
parent = Mix.Project.config[:app]
system_app = Nerves.Env.system.app
{m, f, a} =
if parent == system_app do
Mix.Tasks.Deps.Compile.run [Nerves.Env.toolchain.app, "--include-children"]
{Mix.Tasks.Compile, :run, [["--no-deps-check"]]}
else
system_app_name = to_string(system_app)
{Mix.Tasks.Deps.Compile, :run, [[system_app_name, "--include-children"]]}
end
apply(m, f, a)
Mix.Task.reenable "deps.compile"
Mix.Task.reenable "compile"
System.put_env("NERVES_PRECOMPILE", "0")
Mix.Tasks.Nerves.Loadpaths.run []
end
debug_info "Precompile End"
end
end