Nerves.Env (nerves v1.7.4) View Source
Contains package info for Nerves dependencies
The Nerves Env is used to load information from dependencies that contain a nerves.exs config file in the root of the dependency path. Nerves loads this config because it needs access to information about Nerves compile time dependencies before any code is compiled.
Link to this section Summary
Functions
Export environment variables used by Elixir, Erlang, C/C++ and other tools so that they use Nerves toolchain parameters and not the host's.
Re evaluates the mix file under a different target.
Cleans the artifacts for the package build_runners of all specified packages.
The location for storing global nerves data
Disable the Nerves Env compilers
The download location for artifact downloads.
Enable the Nerves Env compilers
Check if the env compilers are disabled
Ensures that an application which contains a Nerves package config has been loaded into the environment agent.
The path to the firmware file
Returns the architecture for the host system.
Returns the os for the host system.
The path to where firmware build files are stored
This can be overridden in a Mix project by setting the :images_path
key.
Check if the Nerves.Env is loaded
Gets a package by app name.
Lists all Nerves packages loaded in the Nerves environment.
Lists packages by package type.
Starts the Nerves environment agent and loads package information.
If the Nerves.Env is already started, the function returns
{:error, {:already_started, pid}}
with the pid of that process
Stop the Nerves environment agent.
Helper function for returning the system type package
Helper function for returning the system_platform type package
Helper function for returning the toolchain type package
Helper function for returning the toolchain_platform type package
Link to this section Functions
Specs
bootstrap() :: :ok
Export environment variables used by Elixir, Erlang, C/C++ and other tools so that they use Nerves toolchain parameters and not the host's.
For a comprehensive list of environment variables, see the documentation for the package defining system_platform.
Specs
change_target(String.t()) :: :ok
Re evaluates the mix file under a different target.
This allows you to start in one target, like host, but then switch to a different target.
Specs
clean([Nerves.Package.t()]) :: :ok
Cleans the artifacts for the package build_runners of all specified packages.
Specs
data_dir() :: path :: String.t()
The location for storing global nerves data
Specs
disable() :: :ok
Disable the Nerves Env compilers
Specs
download_dir() :: path :: String.t()
The download location for artifact downloads.
Placing an artifact tar in this location will bypass the need for it to be downloaded.
Specs
enable() :: :ok
Enable the Nerves Env compilers
Specs
enabled?() :: boolean()
Check if the env compilers are disabled
Specs
ensure_loaded(app :: atom(), path :: String.t()) :: {:ok, Nerves.Package.t()} | {:error, term()}
Ensures that an application which contains a Nerves package config has been loaded into the environment agent.
Options
app
- The atom of the app to loadpath
- Optional path for the app
Specs
The path to the firmware file
Specs
host_arch() :: String.t()
Returns the architecture for the host system.
Example return values
"x86_64" "arm"
Specs
host_os() :: String.t()
Returns the os for the host system.
Example return values
"win" "linux" "darwin"
Specs
The path to where firmware build files are stored
This can be overridden in a Mix project by setting the :images_path
key.
images_path: "/some/other/location"
Defaults to (build_path)/nerves/images
Specs
loaded?() :: boolean()
Check if the Nerves.Env is loaded
Specs
package(name :: atom()) :: Nerves.Package.t() | nil
Gets a package by app name.
Specs
packages() :: [Nerves.Package.t()]
Lists all Nerves packages loaded in the Nerves environment.
Lists packages by package type.
Specs
start() :: Agent.on_start()
Starts the Nerves environment agent and loads package information.
If the Nerves.Env is already started, the function returns
{:error, {:already_started, pid}}
with the pid of that process
Specs
stop() :: :ok
Stop the Nerves environment agent.
Specs
system() :: Nerves.Package.t()
Helper function for returning the system type package
Specs
system_platform() :: module()
Helper function for returning the system_platform type package
Specs
toolchain() :: Nerves.Package.t()
Helper function for returning the toolchain type package
Specs
toolchain_platform() :: Nerves.Package.t()
Helper function for returning the toolchain_platform type package