defmodule Dox.MixProject do use Mix.Project def project do [ app: :dox, version: "0.1.0", elixir: "~> 1.18", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), aliases: aliases(), deps: deps(), docs: docs(), package: package(), test_coverage: [tool: ExCoveralls, minimum_coverage: 15] ] end defp package do [ description: "DigitalOcean API v2 client for Elixir", licenses: ["MIT"], links: %{ "GitHub" => "https://github.com/gilbertwong96/dox", "Docs" => "https://hexdocs.pm/dox" } ] end defp docs do [ main: "readme", extras: ["README.md", "LICENSE"] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger], mod: {Dox.Application, []} ] end defp deps do [ {:finch, "~> 0.21"}, {:yaml_elixir, "~> 2.9"}, {:mox, "~> 1.0", only: :test}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false}, {:excoveralls, ">= 0.0.0", only: :test, runtime: false}, {:ex_doc, ">= 0.0.0", only: :dev, runtime: false}, {:mix_test_watch, ">= 0.0.0", only: :dev}, {:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false}, {:inch_ex, "~> 2.0", only: [:dev, :test]} ] end defp aliases do [ ci: [ "compile --all-warnings --warnings-as-errors", "format --check-formatted", "credo --strict", "deps.unlock --check-unused", "deps.audit", "xref graph --label compile-connected --fail-above 0", "dialyzer" ] ] end end