defmodule ModuleResolver.MixProject do use Mix.Project @test_envs [:test] @dev_envs [:dev] @url "https://github.com/dmitrykleymenov/module_resolver" def project do [ app: :module_resolver, version: "0.1.0", elixir: "~> 1.13", start_permanent: Mix.env() == :prod, deps: deps(), package: package(), description: description(), dialyzer: dialyzer(), source_url: @url, aliases: aliases(), test_coverage: [tool: ExCoveralls] ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:mox, "~> 1.0", only: @test_envs}, {:credo, "~> 1.7", only: @test_envs ++ @dev_envs, runtime: false}, {:dialyxir, "~> 1.4", only: @test_envs ++ @dev_envs, runtime: false}, {:excoveralls, "~> 0.18.5", only: @test_envs}, {:ex_doc, "~> 0.14", only: @dev_envs, runtime: false} ] end defp description do "A library for module decoupling" end defp dialyzer do [ flags: [ :error_handling, :underspecs, :unmatched_returns, :unknown ], plt_add_apps: [:ex_unit, :mix], # for caching purposes plt_local_path: "_build/plt/" ] end def cli do [ preferred_envs: [ cover: :test, "coveralls.github": :test, credo: :test, dialyzer: :test ] ] end defp package do [ name: :module_resolver, licenses: [], links: [], maintainers: ["dmitrykleymenov"], files: ["lib", "mix.exs", "README*"] ] end defp aliases do [ cover: ["coveralls --sort cov:desc"] ] end end