Packages

Nerves Binary Package Repository — library underpinning :nbpr_* packages

Current section

Files

Jump to
nbpr mix.exs
Raw

mix.exs

defmodule NBPR.MixProject do
use Mix.Project
@version "0.2.1"
@source_url "https://github.com/jimsynz/nbpr"
def project do
[
app: :nbpr,
version: @version,
elixir: "~> 1.16",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: "Nerves Binary Package Repository — library underpinning :nbpr_* packages",
package: package(),
docs: docs(),
aliases: aliases(),
name: "NBPR",
source_url: @source_url
]
end
# `mix docs` regenerates docs/reference/catalogue.md from the workspace's
# `packages/` first, so the published hexdocs always has the current
# catalogue. The catalogue file itself is gitignored — it's a build
# artefact.
defp aliases do
[
docs: ["nbpr.catalogue", "docs"]
]
end
def application do
[
mod: {NBPR.Application, []},
extra_applications: [:logger, :inets, :ssl]
]
end
defp deps do
[
{:nimble_options, "~> 1.1"},
{:muontrap, "~> 1.0"},
# Optional — only required when a consumer runs `mix igniter.install
# nbpr` to bootstrap their project. Listed here so `Mix.Tasks.Nbpr.Install`
# compiles in this library's own build.
{:igniter, "~> 0.8", optional: true},
{:ex_doc, "~> 0.40", only: :dev, runtime: false}
]
end
defp package do
[
licenses: ["Apache-2.0"],
links: %{"GitHub" => @source_url}
]
end
defp docs do
[
main: "readme",
extras: [
"README.md",
"../CONTRIBUTING.md",
"../docs/tutorials/getting-started.md",
"../docs/howto/add-a-buildroot-package.md",
"../docs/reference/catalogue.md",
"../docs/explanation/why-nbpr.md",
"../docs/explanation/packaging-model.md"
],
groups_for_extras: [
Tutorials: ~r{docs/tutorials/.*},
"How-to guides": ~r{docs/howto/.*},
Reference: ~r{docs/reference/.*},
Explanation: ~r{docs/explanation/.*}
],
source_url: @source_url,
source_ref: "v#{@version}",
groups_for_modules: [
"Mix tasks": [
Mix.Tasks.Nbpr.Build,
Mix.Tasks.Nbpr.Fetch,
Mix.Tasks.Nbpr.Inspect,
Mix.Tasks.Nbpr.Install,
Mix.Tasks.Nbpr.Matrix,
Mix.Tasks.Nbpr.New,
Mix.Tasks.Nbpr.Pack,
Mix.Tasks.Nbpr.Publish,
Mix.Tasks.Nbpr.Releasable
]
]
]
end
end