Packages
nerves_bootstrap
0.8.1
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/nerves_bootstrap.ex
defmodule Nerves.Bootstrap do
use Application
@version Mix.Project.config()[:version]
# See https://hexdocs.pm/elixir/Application.html
# for more information on OTP Applications
@moduledoc false
def start(_type, _args) do
Nerves.Bootstrap.Aliases.init()
{:ok, self()}
end
@doc """
Returns the version of nerves_bootstrap
"""
def version, do: @version
@doc """
Check the nerves_bootstrap updates from hex
"""
def check_for_update() do
try do
Hex.start()
{:ok, {200, resp, _}} = Hex.API.Package.get("hexpm", "nerves_bootstrap")
latest_rel =
resp
|> Map.get("releases")
|> List.first()
latest_vsn =
Map.get(latest_rel, "version")
|> Version.parse!()
current_vsn =
Nerves.Bootstrap.version()
|> Version.parse!()
if Version.compare(current_vsn, latest_vsn) == :lt do
Mix.shell().info([
IO.ANSI.yellow(),
"A new version of Nerves bootstrap is available(#{current_vsn} < #{latest_vsn}), " <>
"please update with `mix local.nerves`",
IO.ANSI.reset()
])
end
rescue
_e -> :noop
end
end
@doc """
Add the required Nerves bootstrap aliases to the existing ones
"""
defdelegate add_aliases(aliases), to: Nerves.Bootstrap.Aliases
end