lib/mix/tasks/nerves.info.ex
defmodule Mix.Tasks.Nerves.Info do
use Mix.Task
import Mix.Nerves.IO
@shortdoc "Prints Nerves information"
@moduledoc """
Prints Nerves system information.
mix nerves.info
"""
@switches [target: :string]
@impl true
def run(argv) do
debug_info("Info Start")
{opts, _, _} = OptionParser.parse(argv, switches: @switches)
Nerves.Env.disable()
if target = opts[:target] do
Nerves.Env.change_target(target)
end
Mix.Tasks.Nerves.Env.run(["--info", "--disable"])
Mix.shell().info("Nerves: #{Nerves.version()}")
Mix.shell().info("Nerves Bootstrap: #{Nerves.Bootstrap.version()}")
Mix.shell().info("Elixir: #{Nerves.elixir_version()}")
Nerves.Env.enable()
debug_info("Info End")
end
end