defmodule Sims.MixProject do use Mix.Project @version "0.2.0" def project do [ app: :sims, version: @version, elixir: "~> 1.13", start_permanent: Mix.env() == :prod, deps: deps(), package: package(), dialyzer: dialyzer(System.get_env()), aliases: aliases(), description: "A library for creating test simulators for external services.", source_url: "https://github.com/aaronrenner/sims", docs: docs() ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end defp docs do [ source_ref: "v#{@version}", extras: ["CHANGELOG.md"] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:igniter, "~> 0.5"}, {:tidewave, "~> 0.2", only: :dev}, {:bandit, "~> 1.0", only: :dev}, {:ex_doc, "~> 0.34", only: :dev, runtime: false, warn_if_outdated: true}, {:dialyxir, "~> 1.1", only: [:dev], runtime: false}, {:credo, "~> 1.6", only: [:dev, :test], runtime: false} ] end defp package do [ licenses: ["MIT"], links: %{ "GitHub" => "https://github.com/aaronrenner/sims" } ] end # Environment specific dialyzer confi defp dialyzer(%{"CI" => "true"}) do [ plt_core_path: ".dialyzer/core", plt_local_path: ".dialyzer/local", plt_add_apps: [:mix] ] end defp dialyzer(_), do: [] defp aliases do [ tidewave: "run --no-halt -e 'Agent.start(fn -> Bandit.start_link(plug: Tidewave, port: 4000) end)'" ] end end