Releases: nerves-project/nerves_bootstrap
v0.8.0
In the last relase (0.7.x) we added two additional aliases deps.get
and
deps.update
. In this release, we added an alias for run
.
This led to a point where is became unreasonable to manage
all the required aliases in the project mix.exs
. We changed the pratice to
allow nerves_bootstrap
to manage the required aliases for you by calling
Nerves.Bootstrap.add_aliases/1
, however, this causes users who
did not have the nerves_bootstrap
archive installed to be stuck in an error
loop unless they would cd to a directory that did not contain an offending
mix.exs
file to install the missing archive.
This version provides a safer way of allowing nerves_bootstrap
to manage
its required aliases by hooking into a single alias: loadconfig
.
To update, you will need to modify your mix.exs
to the following:
# mix.exs
def project do
[
# ...
aliases: ["loadconfig": [&bootstrap/1]],
]
end
# Starting nerves_bootstrap adds the required aliases to Mix.Project.config()
# Aliases are only added if MIX_TARGET is set.
def bootstrap(args) do
Application.start(:nerves_bootstrap)
Mix.Task.run("loadconfig", args)
end
- Enhancements
precompile
will compile all Nerves packages instead of only the system
and its children.- Calling
run
whileMIX_TARGET
is set will raise an exception for
trying to run cross compiled code on the host. Application.start(:nerves_bootstrap)
will attempt to add aliases to the
mix project on the top of the stack ifMIX_TARGET
is set.
v0.7.1
- Enhancements
- Added alias for
deps.update
to appendnerves.deps.get
to fetch
artifacts.
- Added alias for
v0.7.0
- Enhancements
-
Added Mix task
nerves.deps.get
-
nerves_bootstrap
will check for updates whennerves.deps.get
is called. -
Added
Nerves.Bootstrap.add_aliases/1
This helper function ensures that your project has the required Nerves
mix aliases defined and in the correct execution order. The function takes
the existing aliases as a keyword list and injects the required Nerves aliases.
You will need to update yourmix.exs
target aliases to use this version of
nerves_bootstrap
like this:defp aliases(_target) do [ # Add custom mix aliases here ] |> Nerves.Bootstrap.add_aliases() end
You should also update your required dependency for nerves to
{:nerves, "~> 0.9", runtime: false}
-
- Bug Fixes
- disable precompiler when calling
mix nerves.clean
to prevent having to
build the package so we can clean it. - Fixes issue where project dependencies that contain calls to
System.get_env
in their config or mix file or rebar deps that haverebar-config.script
overrides that makeos:getenv
calls were not being configured for the
cross compile environment.
- disable precompiler when calling
v0.6.4
- Enhancements
- Changed update location from Github to hex.pm
- Fixed compiler warning
- Synchronize new project template with Elixir 1.6 updates (includes formatter)
v0.6.3
- Enhancements
- Removed unsupported systems from default targets and added x86_64.
- Moved to independent hex package.