Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Swagdox.MixProject do
use Mix.Project
def project do
[
app: :swagdox,
description: "Generate OpenAPI specs from documentation comments in Elixir modules.",
version: "0.1.2",
elixir: "~> 1.14",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
preferred_cli_env: ["test.all": :test],
deps: deps(),
docs: docs(),
dialyzer: [plt_add_apps: [:mix]],
package: package(),
source_url: "https://github.com/DylanBlakemore/swagdox",
homepage_url: "https://github.com/DylanBlakemore/swagdox",
test_coverage: [
summary: [threshold: 95],
ignore_modules: [
Mix.Tasks.Swagdox.Generate,
Swagdox.Order,
Swagdox.User,
SwagdoxWeb.DefaultConfig,
SwagdoxWeb.Router,
SwagdoxWeb.UserController,
SwagdoxWeb.OrderController
]
]
]
end
def application do
[
extra_applications: [:logger]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(:dev), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
{:ex_doc, "~> 0.31", only: [:dev, :docs], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:jason, "~> 1.4"},
{:ymlr, "~> 5.0"},
{:ecto, "~> 3.11", only: [:dev, :test], runtime: false}
]
end
defp aliases do
[
"test.lint": [
"credo --strict",
"format --check-formatted --dry-run",
"dialyzer"
],
"test.all": [
"test --cover --export-coverage default",
"test.coverage",
"test.lint"
]
]
end
defp docs do
[
main: "readme",
formatters: ["html", "epub"],
extras: extras(),
skip_undefined_reference_warnings_on: ["CHANGELOG.md"]
]
end
defp extras do
[
"README.md",
"CHANGELOG.md",
"LICENSE.md",
]
end
defp package() do
[
files: ~w(lib .formatter.exs mix.exs README* LICENSE* CHANGELOG*),
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/DylanBlakemore/swagdox"}
]
end
end