defmodule ShieldedCache.MixProject do use Mix.Project def project do [ app: :shielded_cache, version: "1.2.0", elixir: "~> 1.6", build_embedded: Mix.env() == :prod, start_permanent: Mix.env() == :prod, package: package(), name: "ShieldedCache", source_url: "https://github.com/SpotIM/shielded-cache", deps: deps(), elixirc_paths: elixirc_paths(Mix.env()), test_coverage: [tool: ExCoveralls], preferred_cli_env: [ coveralls: :test, "coveralls.detail": :test, "coveralls.post": :test, "coveralls.html": :test ], # The main page in the docs docs: [main: "ShieldedCache", logo: "assets/logo.png", extras: ["README.md"]], dialyzer: [plt_add_deps: :project] ] end def application do [ extra_applications: applications(Mix.env()) ] end defp applications(:dev), do: applications(:all) ++ [:remixed_remix] defp applications(_all), do: [:logger, :runtime_tools] defp deps do [ ## Production Dependencies {:redix, ">= 0.0.0"}, {:jason, "~> 1.1"}, {:redix_cluster_remastered, "~> 1.1.0"}, {:memcachex, "~> 0.4"}, {:cream, ">= 0.1.0"}, ## Testing and Development Dependencies {:ex_doc, "~> 0.18.0", only: :dev}, {:credo, "~> 1.0.0", only: :dev, runtime: false}, {:excoveralls, "~> 0.10", only: :test}, {:remixed_remix, "~> 1.0.0", only: :dev} ] end defp package do [ description: "A CDN-like shielded caching mechanism that enables asynchronously fetching data while returning stale data to the client.", # These are the default files included in the package files: ["lib", "mix.exs", "README.md"], maintainers: ["Coby Benveniste"], links: %{"GitHub" => "https://github.com/SpotIM/shielded-cache"}, licenses: ["MIT License"] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] end