Packages
nerves
1.10.3
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.0
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
retired
1.9.1
1.9.0
1.8.0
1.7.17
1.7.16
1.7.15
1.7.14
retired
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
retired
1.7.1
retired
1.7.0
retired
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
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.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.4.0-rc.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
Craft and deploy bulletproof embedded software
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Nerves.MixProject do
use Mix.Project
@version "1.10.3"
@source_url "https://github.com/nerves-project/nerves"
def project do
[
app: :nerves,
version: @version,
elixir: "~> 1.11.2 or ~> 1.12.0 or ~> 1.13.0 or ~> 1.14.0 or ~> 1.15.1",
elixirc_paths: elixirc_paths(Mix.env()),
deps: deps(),
description: description(),
package: package(),
compilers: [:elixir_make | Mix.compilers()],
make_targets: ["all"],
make_clean: ["clean"],
docs: docs(),
dialyzer: dialyzer(),
preferred_cli_env: %{
credo: :test,
docs: :docs,
"hex.publish": :docs,
"hex.build": :docs
},
aliases: ["archive.build": &raise_on_archive_build/1],
xref: [exclude: [Nerves.Bootstrap]]
]
end
def application do
[extra_applications: [:ssl, :inets, :eex, :nerves_bootstrap]]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
{:castore, "~> 0.1 or ~> 1.0"},
{:elixir_make, "~> 0.6", runtime: false},
{:jason, "~> 1.2"},
{:credo, "~> 1.6", only: :test, runtime: false},
{:ex_doc, "~> 0.22", only: :docs, runtime: false},
{:dialyxir, "~> 1.0", only: [:test, :dev], runtime: false},
{:plug, "~> 1.10", only: :test},
{:mime, "~> 2.0", only: :test},
{:plug_cowboy, "~> 1.0 or ~> 2.0", only: :test}
]
end
defp dialyzer do
[
flags: [:missing_return, :extra_return, :unmatched_returns, :error_handling, :underspecs],
plt_add_apps: [:mix]
]
end
defp docs do
[
assets: "resources",
main: "getting-started",
logo: "resources/logo.png",
extras: [
"docs/Installation.md",
"docs/Getting Started.md",
"docs/Connecting to Nerves Target.md",
"docs/IEx with Nerves.md",
"docs/FAQ.md",
"docs/Targets.md",
"docs/Systems.md",
"docs/User Interfaces.md",
"docs/Environment Variables.md",
"docs/Compiling Non-BEAM Code.md",
"docs/Advanced Configuration.md",
"docs/Updating Projects.md",
"docs/Internals.md",
"docs/Customizing Systems.md",
"docs/Experimental Features.md",
"docs/Using the CLI.md",
"CHANGELOG.md"
],
source_ref: "v#{@version}",
source_url: @source_url,
skip_undefined_reference_warnings_on: ["docs/Updating Projects.md", "CHANGELOG.md"]
]
end
defp description do
"Craft and deploy bulletproof embedded software"
end
defp package do
[
files: [
"CHANGELOG.md",
"lib",
"LICENSE",
"mix.exs",
"README.md",
"scripts",
"src",
"Makefile"
],
licenses: ["Apache-2.0"],
links: %{
"Home page" => "https://www.nerves-project.org/",
"GitHub" => @source_url,
"Changelog" => "#{@source_url}/blob/main/CHANGELOG.md"
}
]
end
defp raise_on_archive_build(_) do
Mix.raise("""
You are trying to install "nerves" as an archive, which is not supported. \
You probably meant to install "nerves_bootstrap" instead.
""")
end
end