defmodule Lazarus.MixProject do use Mix.Project @version "1.0.0" @source_url "https://github.com/kopasz/ecto_lazarus" def project do [ app: :lazarus, version: @version, elixir: ">= 1.15.0 and < 1.21.0", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, description: description(), package: package(), docs: [ main: "readme", source_url: @source_url, source_ref: "v#{@version}", extras: [ "README.md", "CHANGELOG.md", "guides/repo-module-setup.md", "guides/schema-setup.md", "guides/migration-setup.md", "guides/fetch-and-delete-apis.md", "guides/query-support.md", "guides/cascade-soft-deletes.md", "guides/assoc-replace.md", "guides/overcoming-limitations.md" ], groups_for_extras: [ Overview: ["README.md", "CHANGELOG.md"], Guides: [ "guides/repo-module-setup.md", "guides/schema-setup.md", "guides/migration-setup.md", "guides/fetch-and-delete-apis.md", "guides/query-support.md", "guides/cascade-soft-deletes.md", "guides/assoc-replace.md", "guides/overcoming-limitations.md" ] ], groups_for_modules: [ "Primary API": [Lazarus, Lazarus.Schema, Lazarus.Migrations], "Lower-level API": [Lazarus.Repo, Lazarus.Runtime, Lazarus.Query] ] ], aliases: aliases(), deps: deps(), test_coverage: [tool: ExCoveralls] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp description do "A safe soft-delete library for Elixir that enforces explicit soft and hard delete paths." end defp package do [ files: [ "lib", "guides", "mix.exs", "README.md", "CHANGELOG.md", "LICENSE" ], maintainers: ["Tomasz Kopec"], licenses: ["MIT"], links: %{ "GitHub" => @source_url } ] end defp deps do ecto_requirement = System.get_env("ECTO_REQUIREMENT", "~> 3.13.0 or ~> 3.14.0") [ {:ecto, ecto_requirement}, {:ecto_sql, ecto_requirement, only: :test}, {:postgrex, ">= 0.0.0", only: :test}, {:ex_doc, "~> 0.38", only: :dev, runtime: false}, {:excoveralls, "~> 0.18", only: :test}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false} ] end defp aliases do [ test: ["ecto.create --quiet", "test"] ] end def cli do [preferred_envs: [coveralls: :test, "coveralls.html": :test, "coveralls.json": :test]] end end