defmodule ExCellerate.MixProject do use Mix.Project @version "0.2.0" @source_url "https://github.com/geofflane/excellerate" def project do [ app: :excellerate, version: @version, elixir: "~> 1.17", start_permanent: Mix.env() == :prod, elixirc_paths: elixirc_paths(Mix.env()), deps: deps(), description: "A high-performance, extensible expression evaluation engine for Elixir.", package: package(), docs: docs(), source_url: @source_url, homepage_url: @source_url, test_coverage: [ ignore_modules: [~r/^ExCellerate\.Test\./] ], dialyzer: [ plt_local_path: "priv/plts/project.plt", plt_core_path: "priv/plts/core.plt", ignore_warnings: ".dialyzer_ignore.exs" ] ] end # Run "mix help compile.app" to learn about applications. def application do [ extra_applications: [:logger] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp package do [ name: "excellerate", licenses: ["MIT"], links: %{"GitHub" => @source_url}, maintainers: ["Geoff Lane"], files: ~w(lib priv/plts/.gitkeep .formatter.exs mix.exs README.md LICENSE) ] end defp docs do [ main: "ExCellerate", extras: ["README.md"] ] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:nimble_parsec, "~> 1.4"}, {:benchee, "~> 1.3", only: :dev, runtime: false}, {:ex_doc, "~> 0.34", only: :dev, runtime: false, warn_if_outdated: true}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false} ] end end