defmodule Helper.MixProject do @moduledoc false use Mix.Project def project do [ app: :helper, version: "1.0.0", elixir: "~> 1.13", elixirc_paths: path(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), description: description(), package: package(), source_url: "https://bitbucket.org/ngwms/helper/src/trunk/", docs: docs() ] end defp description, do: "A helper library for Ecto, Nebulex and other utilties" defp docs do [ main: "Helper", skip_undefined_reference_warnings_on: ["CHANGELOG.md"], extras: extras(), groups_for_extras: groups_for_extras(), groups_for_modules: [ "Enum Type": [ Helper.Enum ], "Nebulex Cache": [ Helper.Cache ], "Ecto Types": [ Ecto.ULID ], "Ecto Helpers": [ Helper.Ecto.Schema, Helper.Ecto.Module ], "Ecto Validations": [ Helper.Ecto.Changeset, Helper.Ecto.Validation ] ] ] end def extras() do [ "README.md" ] end defp groups_for_extras do [ Introduction: ~r/README\/.?/ ] end defp package do [ files: ~w(lib .formatter.exs .credo.exs mix.exs README.md LICENSE.md), licenses: ["MIT"], links: %{"Bitbucket" => "https://bitbucket.org/ngwms/helper/src/trunk/"} ] end def path(:test), do: ~w(./example ./test) ++ path(:prod) def path(_), do: ~w(./lib) # Run "mix help compile.app" to learn about applications. def application do [extra_applications: [:logger]] ++ if Mix.env() == :test, do: [mod: {Helper.Ecto.Example.Application, []}], else: [] end # Run "mix help deps" to learn about dependencies. defp deps do [ {:ecto_sql, "~> 3.7.1"}, {:postgrex, "~> 0.15.13", only: :test}, {:ex_doc, "~> 0.26.0", only: :dev, runtime: false}, {:dialyxir, "~> 1.1.0", only: :dev, runtime: false}, {:credo, "~> 1.6.1", only: :dev, runtime: false}, {:excoveralls, "~> 0.14.4", only: :test, runtime: false}, {:deep_merge, "~> 1.0.0"}, {:inflex, "~> 2.1.0"}, {:sourceror, "~> 0.9.0"}, {:nebulex, "~> 2.3.0"} ] end end