defmodule WellBehaved.MixProject do use Mix.Project @source_url "https://github.com/camatcode/well_behaved" @version "1.0.1" def project do [ app: :well_behaved, version: @version, elixir: "~> 1.19", start_permanent: Mix.env() == :prod, deps: deps(), elixirc_paths: elixirc_paths(Mix.env()), test_coverage: [tool: ExCoveralls], # Hex package: package(), description: """ A silly library that lets you use @behave instead of @behaviour """, # Docs name: "WellBehaved", docs: [ main: "WellBehaved", api_reference: false, logo: "assets/well-behaved-logo.png", source_ref: "v#{@version}", source_url: @source_url, extra_section: "GUIDES", formatters: ["html"], extras: extras(), groups_for_modules: groups_for_modules(), skip_undefined_reference_warnings_on: ["CHANGELOG.md"] ] ] end defp groups_for_modules do [] end def package do [ maintainers: ["Cam Cook"], licenses: ["Apache-2.0"], files: ~w(lib .formatter.exs .credo.exs mix.exs README* CHANGELOG* LICENSE*), links: %{ Website: @source_url, Changelog: "#{@source_url}/blob/master/CHANGELOG.md", GitHub: @source_url } ] end def extras do [ "README.md" ] end def application do [ extra_applications: [:logger] ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test, "coveralls.cobertura": :test ] ] end defp deps do [ {:excoveralls, "~> 0.18", only: [:test]}, {:quokka, "~> 2.12", only: [:dev, :test], runtime: false}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.40", only: :dev, runtime: false} ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] end