Packages
nerves
1.9.2
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.0
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
retired
1.9.1
1.9.0
1.8.0
1.7.17
1.7.16
1.7.15
1.7.14
retired
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
retired
1.7.1
retired
1.7.0
retired
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
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.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.4.0-rc.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
Craft and deploy bulletproof embedded software
Retired package: Release invalid - Artifact downloads fail. Upgrade to v1.9.3
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/nerves.env.ex
defmodule Mix.Tasks.Nerves.Env do
@moduledoc false
use Mix.Task
import Mix.Nerves.IO
@switches [info: :boolean, disable: :boolean]
@impl Mix.Task
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.precompile, 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
# TODO: Remove this as it should be handled when bootstrapping this tooling
# into the current running project. Leave it here for now
unless Code.ensure_loaded?(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
defp 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}
BuildRunner: #{inspect(pkg.build_runner)}
""")
end
end