defmodule ExSTUN.MixProject do use Mix.Project @version "0.2.1" @source_url "https://github.com/elixir-webrtc/ex_stun" def project do [ app: :ex_stun, version: @version, elixir: "~> 1.13", start_permanent: Mix.env() == :prod, description: "Implementation of the STUN protocol", package: package(), deps: deps(), # docs docs: docs(), source_url: @source_url, # dialyzer dialyzer: [ plt_local_path: "_dialyzer", plt_core_path: "_dialyzer" ], # code coverage test_coverage: [tool: ExCoveralls] ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test, "coveralls.json": :test ] ] end def application do [ extra_applications: [:logger, :crypto] ] end def package do [ licenses: ["Apache-2.0"], links: %{"GitHub" => "https://github.com/elixir-webrtc/ex_stun"} ] end defp deps do [ {:excoveralls, "~> 0.14.6", only: :test, runtime: false}, {:ex_doc, "~> 0.27", only: :dev, runtime: false}, {:credo, "~> 1.6", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.2", only: [:dev, :test], runtime: false}, {:benchee, "~> 1.0", only: :dev} ] end defp docs() do [ main: "readme", extras: ["README.md"], source_ref: "v#{@version}", formatters: ["html"], nest_modules_by_prefix: [ ExSTUN.Message.Attribute ], groups_for_modules: [ Attributes: [ ~r/ExSTUN\.Message\.Attribute\./ ] ] ] end end