Packages

A wrapper for `Application.get_config/3` and `System.get_env/1` that makes it easy to swap in process-specific overrides. Among other things, this allows tests to provide async-safe overrides.

Current section

Files

Jump to
gestalt mix.exs
Raw

mix.exs

defmodule Gestalt.MixProject do
use Mix.Project
@version "2.0.1"
def project do
[
aliases: aliases(),
app: :gestalt,
deps: deps(),
description: description(),
dialyzer: dialyzer(),
docs: docs(),
elixir: "~> 1.15",
package: package(),
source_url: "https://github.com/synchronal/elixir-gestalt",
start_permanent: Mix.env() == :prod,
version: @version
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[extra_applications: [:logger]]
end
def cli,
do: [
preferred_envs: [credo: :test, dialyzer: :test]
]
# # #
defp aliases,
do: []
defp deps,
do: [
{:credo, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:ex_doc, ">= 0.0.0", only: :dev},
{:mix_audit, "~> 2.0", only: :dev, runtime: false}
]
defp description() do
"""
A wrapper for `Application.get_config/3` and `System.get_env/1` that makes it easy
to swap in process-specific overrides. Among other things, this allows tests
to provide async-safe overrides.
"""
end
defp dialyzer,
do: [
plt_add_apps: [:ex_unit, :mix],
plt_add_deps: :app_tree,
plt_core_path: "_build/plts/#{Mix.env()}",
plt_local_path: "_build/plts/#{Mix.env()}"
]
defp docs,
do: [
extras: extras(),
source_ref: "v#{@version}",
main: "overview"
]
defp extras() do
[
"pages/overview.md"
]
end
defp package(),
do: [
files: ~w(lib .formatter.exs mix.exs README* LICENSE* CHANGELOG* pages),
licenses: ["Apache"],
links: %{
"GitHub" => "https://github.com/synchronal/elixir-gestalt",
"Sponsor" => "https://github.com/sponsors/reflective-dev"
},
maintainers: ["synchronal.dev", "Eric Saxby"]
]
end