74 lines
1.8 KiB
Elixir
74 lines
1.8 KiB
Elixir
defmodule ThousandIsland.MixProject do
|
|
use Mix.Project
|
|
|
|
def project do
|
|
[
|
|
app: :thousand_island,
|
|
version: "1.3.14",
|
|
elixir: "~> 1.13",
|
|
elixirc_paths: elixirc_paths(Mix.env()),
|
|
start_permanent: Mix.env() == :prod,
|
|
deps: deps(),
|
|
dialyzer: dialyzer(),
|
|
name: "Thousand Island",
|
|
description: "A simple & modern pure Elixir socket server",
|
|
source_url: "https://github.com/mtrudel/thousand_island",
|
|
package: [
|
|
maintainers: ["Mat Trudel"],
|
|
licenses: ["MIT"],
|
|
links: %{"GitHub" => "https://github.com/mtrudel/thousand_island"},
|
|
files: ["lib", "mix.exs", "README*", "LICENSE*", "CHANGELOG*"]
|
|
],
|
|
docs: docs()
|
|
]
|
|
end
|
|
|
|
def application do
|
|
[extra_applications: [:logger, :ssl]]
|
|
end
|
|
|
|
defp elixirc_paths(:test), do: ["lib", "test/support"]
|
|
defp elixirc_paths(_), do: ["lib"]
|
|
|
|
defp deps() do
|
|
[
|
|
{:telemetry, "~> 0.4 or ~> 1.0"},
|
|
{:machete, ">= 0.0.0", only: [:dev, :test]},
|
|
{:ex_doc, "~> 0.25", only: [:dev, :test], runtime: false},
|
|
{:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false},
|
|
{:credo, "~> 1.5", only: [:dev, :test], runtime: false}
|
|
]
|
|
end
|
|
|
|
defp dialyzer do
|
|
[
|
|
plt_core_path: "priv/plts",
|
|
plt_file: {:no_warn, "priv/plts/dialyzer.plt"},
|
|
plt_add_deps: :apps_direct,
|
|
plt_add_apps: [:public_key],
|
|
flags: [
|
|
"-Werror_handling",
|
|
"-Wextra_return",
|
|
"-Wmissing_return",
|
|
"-Wunknown",
|
|
"-Wunmatched_returns",
|
|
"-Wunderspecs"
|
|
]
|
|
]
|
|
end
|
|
|
|
defp docs do
|
|
[
|
|
main: "ThousandIsland",
|
|
logo: "assets/ex_doc_logo.png",
|
|
groups_for_modules: [
|
|
Transport: [
|
|
ThousandIsland.Transport,
|
|
ThousandIsland.Transports.TCP,
|
|
ThousandIsland.Transports.SSL
|
|
]
|
|
]
|
|
]
|
|
end
|
|
end
|