defmodule Mine.MixProject do use Mix.Project @version "0.2.0" def get_version, do: @version def project do [ app: :mine, version: @version, elixir: "~> 1.9", deps: deps(), package: package(), description: description(), docs: docs(), source_url: "https://github.com/sgilson/mine", name: "Mine", test_coverage: [ tool: ExCoveralls ], elixirc_paths: elixirc_paths(Mix.env()) ] end def application do [extra_applications: [:logger]] end defp deps do [ {:excoveralls, "~> 0.12.0", only: :test}, {:ex_doc, "~> 0.19", only: [:dev, :test]}, {:dialyxir, "~> 0.5", only: [:dev], runtime: false}, {:benchee, "~> 1.0.1", only: :bench} ] end def package do [ name: :mine, licenses: ["MIT"], maintainers: ["Spencer Gilson"], links: %{"GitHub" => "https://github.com/sgilson/mine"} ] end def description do """ Mine is a lightweight package for defining views for structs. It aims to eliminate the boilerplate required to write and maintain an anti-corruption layer between your structs and any external APIs you interface with. """ end def docs do [ source_url: "https://github.com/sgilson/mine", main: "Mine", extras: ["README.md"] ] end defp elixirc_paths(:test), do: ["test/benchmark", "lib"] defp elixirc_paths(_), do: ["lib"] end