defmodule TypedEctoSchema.MixProject do use Mix.Project @version "0.5.0" def project do [ app: :typed_ecto_schema, version: @version, elixir: "~> 1.9", elixirc_paths: elixirc_paths(Mix.env()), test_elixirc_options: [debug_info: true, docs: true], start_permanent: Mix.env() == :prod, deps: deps(), package: package(), docs: docs(), description: "A library to define Ecto schemas with typespecs without all the boilerplate code.", test_coverage: [tool: ExCoveralls] ] end def cli do [ preferred_envs: [ coveralls: :test, "coveralls.github": :test ] ] 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"] # Run "mix help deps" to learn about dependencies. defp deps do [ # Development and test dependencies {:credo, ">= 1.7.0", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.0", only: [:dev, :test], runtime: false}, {:excoveralls, "~> 0.18", only: :test, runtime: false}, {:polymorphic_embed, "~> 5.0", only: :test}, # Project dependencies {:ecto, "~> 3.5"}, # Documentation dependencies {:ex_doc, "~> 0.28", only: :dev, runtime: false} ] end defp docs do [ main: "TypedEctoSchema", source_url: "https://github.com/bamorim/typed_ecto_schema", source_ref: @version, extras: ["cheatsheet.cheatmd", "guides/experimental.md", "CHANGELOG.md"], groups_for_extras: [Guides: ~r/guides/] ] end defp package do [ maintainers: ["Bernardo Amorim"], licenses: ["Apache-2.0"], links: %{ "GitHub" => "https://github.com/bamorim/typed_ecto_schema" } ] end end