Packages
nerves_bootstrap
1.14.0
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
# SPDX-FileCopyrightText: 2017 Justin Schneck
# SPDX-FileCopyrightText: 2022 Frank Hunleth
# SPDX-FileCopyrightText: 2022 Jon Carstens
#
# SPDX-License-Identifier: Apache-2.0
#
defmodule Nerves.Bootstrap do
@moduledoc false
use Application
@impl Application
def start(_type, _args) do
if Version.match?(System.version(), ">= 1.19.0") and has_compile_partition_count?() do
Mix.shell().error("""
Nerves does not support MIX_OS_DEPS_COMPILE_PARTITION_COUNT yet.
Disabling it for this build. To silence this warning, either unset
MIX_OS_DEPS_COMPILE_PARTITION_COUNT or set it to 1 before you build.
Follow https://github.com/nerves-project/nerves/issues/1093 to track
progress.
""")
System.delete_env("MIX_OS_DEPS_COMPILE_PARTITION_COUNT")
end
Nerves.Bootstrap.Aliases.init()
{:ok, self()}
end
defp has_compile_partition_count?() do
case System.fetch_env("MIX_OS_DEPS_COMPILE_PARTITION_COUNT") do
:error -> false
{:ok, "1"} -> false
_ -> true
end
end
@doc """
Returns the version of nerves_bootstrap
"""
@spec version() :: String.t()
def version(), do: unquote(Mix.Project.config()[:version])
@doc """
Read the Nerves dependency version of the bootstrapped project
"""
@spec nerves_version() :: String.t() | nil
def nerves_version() do
if path = Mix.Project.deps_paths()[:nerves] do
Mix.Project.in_project(:nerves, path, fn _ -> Mix.Project.config()[:version] end)
end
catch
_, _ -> nil
end
@doc """
Add the required Nerves bootstrap aliases to the existing ones
"""
defdelegate add_aliases(aliases), to: Nerves.Bootstrap.Aliases
end