Packages
nerves_bootstrap
0.8.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/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