Packages
nerves_bootstrap
1.0.0-rc.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/env.ex
defmodule Mix.Tasks.Nerves.Env do
use Mix.Task
import Mix.Nerves.IO
@moduledoc false
@switches [info: :boolean, disable: :boolean]
def run(argv) do
debug_info("Env Start")
{opts, _, _} = OptionParser.parse(argv, switches: @switches)
if opts[:disable] do
# This is the same code as Nerves.Env.disable/0, but I can't call that
# because we're about to load it immediately below. I also can't call it
# after it's loaded below because the act of compiling the nerves dep
# calls deps.precomile, which causes the system to get compiled unless
# Nerves.Env is disabled, which is what I'm trying to do here. :&
# This could probably be solved by moving Nerves.Env into nerves_bootstrap
System.put_env("NERVES_ENV_DISABLED", "1")
else
System.delete_env("NERVES_ENV_DISABLED")
end
unless Code.ensure_compiled?(Nerves.Env) do
Mix.Tasks.Deps.Loadpaths.run(["--no-compile"])
Mix.Tasks.Deps.Compile.run(["nerves", "--include-children"])
end
Nerves.Env.start()
debug_info("Env End")
if opts[:info], do: print_env()
end
def print_env() do
System.put_env("NERVES_DEBUG", "1")
debug_info("Environment Package List")
case Nerves.Env.packages() do
[] -> Mix.shell().info(" No packages found")
packages -> Enum.each(packages, &print_pkg/1)
end
Mix.Tasks.Nerves.Loadpaths.run([])
end
defp print_pkg(pkg) do
Mix.shell().info("""
Pkg: #{pkg.app}
Vsn: #{pkg.version}
Type: #{pkg.type}
Provider: #{inspect(pkg.provider)}
""")
end
end