defmodule ObanDoctor.MixProject do use Mix.Project def project do [ app: :oban_doctor, version: "0.1.1", elixir: "~> 1.18", start_permanent: Mix.env() == :prod, deps: deps(), description: "Static analysis tool for Oban workers and configuration", source_url: "https://github.com/tomasz-tomczyk/oban_doctor", homepage_url: "https://github.com/tomasz-tomczyk/oban_doctor", package: package(), docs: docs(), test_ignore_filters: [~r/test\/fixtures\//], test_coverage: [tool: ExCoveralls] ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test, "coveralls.github": :test ] ] end def application do [ extra_applications: [:logger] ] end defp deps do [ {:ex_doc, "~> 0.40", only: :dev, runtime: false}, {:excoveralls, "~> 0.18", only: :test} ] end defp package do [ licenses: ["Apache-2.0"], links: %{ "GitHub" => "https://github.com/tomasz-tomczyk/oban_doctor" } ] end defp docs do [ main: "readme", extras: [ "README.md", "guides/configuration.md" ], groups_for_modules: [ "Worker Checks": [ ObanDoctor.Check.Worker.MissingQueue, ObanDoctor.Check.Worker.StateGroupUsage, ObanDoctor.Check.Worker.UniquenessMissingStates, ObanDoctor.Check.Worker.UniqueWithoutKeys, ObanDoctor.Check.Worker.NoMaxAttempts ], "Config Checks": [ ObanDoctor.Check.Config.InsertTriggerEnabled, ObanDoctor.Check.Config.MissingPruner, ObanDoctor.Check.Config.NoReindexer ], Internal: [ ObanDoctor.Check, ObanDoctor.CLI.Output, ObanDoctor.Config, ObanDoctor.ConfigFile, ObanDoctor.Issue, ObanDoctor.ObanDiscovery, ObanDoctor.WorkerDiscovery ] ] ] end end