Packages
nerves_runtime
0.11.10
0.13.13
0.13.12
0.13.11
retired
0.13.10
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
retired
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Small, general runtime utilities for Nerves devices
Current section
Files
Jump to
Current section
Files
nerves_runtime
mix.exs
mix.exs
defmodule Nerves.Runtime.MixProject do
use Mix.Project
@version "0.11.10"
@source_url "https://github.com/nerves-project/nerves_runtime"
def project do
[
app: :nerves_runtime,
version: @version,
elixir: "~> 1.9",
start_permanent: Mix.env() == :prod,
build_embedded: true,
compilers: [:elixir_make | Mix.compilers()],
make_targets: ["all"],
make_clean: ["mix_clean"],
make_error_message: """
If the error message above says that libmnl.h can't be found, then the
fix is to install libmnl. For example, run `apt install libmnl-dev` on
Debian-based systems.
""",
description: description(),
package: package(),
docs: docs(),
dialyzer: dialyzer(),
deps: deps(),
aliases: [format: [&format_c/1, "format"]],
preferred_cli_env: %{docs: :docs, "hex.build": :docs, "hex.publish": :docs}
]
end
def application do
[
extra_applications: [:logger],
mod: {Nerves.Runtime.Application, []}
]
end
defp deps do
[
{:system_registry, "~> 0.8.0"},
{:uboot_env, "~> 1.0 or ~> 0.3.0"},
{:elixir_make, "~> 0.6", runtime: false},
{:ex_doc, "~> 0.22", only: :docs, runtime: false},
{:dialyxir, "~> 1.1", only: :dev, runtime: false},
{:credo, "~> 1.5", only: :dev, runtime: false}
]
end
defp docs do
[
extras: ["README.md", "CHANGELOG.md"],
main: "readme",
source_ref: "v#{@version}",
source_url: @source_url,
skip_undefined_reference_warnings_on: ["CHANGELOG.md"]
]
end
defp description do
"Small, general runtime utilities for Nerves devices"
end
defp package do
[
files: ["CHANGELOG.md", "lib", "LICENSE", "mix.exs", "README.md", "src/*.[ch]", "Makefile"],
licenses: ["Apache-2.0"],
links: %{"Github" => @source_url}
]
end
defp dialyzer() do
[
flags: [:race_conditions, :unmatched_returns, :error_handling, :underspecs]
]
end
defp format_c([]) do
astyle =
System.find_executable("astyle") ||
Mix.raise("""
Could not format C code since astyle is not available.
""")
System.cmd(astyle, ["-n", "-r", "src/*.c", "src/*.h"], into: IO.stream(:stdio, :line))
end
defp format_c(_args), do: true
end