Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Clik.MixProject do
use Mix.Project
def project do
[
app: :clik,
name: "Clik",
source_url: "https://github.com/kevsmith/clik",
description: "CLI app library",
package: package(),
version: "0.2.2",
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
elixirc_options: elixirc_options(Mix.env()),
start_permanent: Mix.env() == :prod,
deps: deps(),
test_coverage: test_coverage(),
aliases: aliases(),
preferred_cli_env: [cover: :test],
dialyzer: dialyzer(),
docs: docs()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
def deps do
[
{:dialyxir, "~> 1.2.0", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.29.1", runtime: false}
]
end
defp test_coverage() do
[
summary: [threshold: 80],
ignore_modules: ignore_for_test()
]
end
defp aliases() do
[cover: "test --cover"]
end
defp elixirc_options(:prod), do: [warnings_as_errors: true]
defp elixirc_options(_), do: []
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp ignore_for_test() do
[
Clik.DuplicateCommandError,
Clik.DuplicateOptionError,
Clik.Renderable,
Clik.UnknownCommandError,
Clik.Test.HelloWorldCommand,
Clik.Test.BarCommand,
Clik.Test.BazCommand
]
end
defp dialyzer() do
[plt_add_deps: :apps_direct, flags: dialyzer_flags()]
end
defp dialyzer_flags() do
[
"-Wunmatched_returns",
"-Wextra_return",
"-Wmissing_return",
:error_handling,
:underspecs
]
end
defp package() do
[
licenses: ["Apache-2.0"],
links: %{
"Source" => "https://github.com/kevsmith/clik",
"Announcements" => "https://blog.smith-manor.us/tags/clik"
}
]
end
defp docs() do
[main: "Clik", extras: ["README.md"]]
end
end