defmodule Cachex.Mixfile do
use Mix.Project
@version "3.6.0"
@url_docs "http://hexdocs.pm/cachex"
@url_github "https://github.com/whitfin/cachex"
def project do
[
app: :cachex,
name: "Cachex",
description: "Powerful in-memory key/value storage for Elixir",
package: %{
files: [
"lib",
"mix.exs",
"LICENSE"
],
licenses: ["MIT"],
links: %{
"Docs" => @url_docs,
"GitHub" => @url_github
},
maintainers: ["Isaac Whitfield"]
},
version: @version,
elixir: "~> 1.5",
deps: deps(),
docs: [
source_ref: "v#{@version}",
source_url: @url_github,
main: "getting-started",
extra_section: "guides",
extras: [
"docs/features/cache-warming/reactive-warming.md",
"docs/features/cache-warming/proactive-warming.md",
"docs/features/action-blocks.md",
"docs/features/cache-limits.md",
"docs/features/custom-commands.md",
"docs/features/disk-interaction.md",
"docs/features/distributed-caches.md",
"docs/features/execution-hooks.md",
"docs/features/streaming-caches.md",
"docs/features/ttl-implementation.md",
"docs/migrations/migrating-to-v3.md",
"docs/migrations/migrating-to-v2.md",
"docs/getting-started.md"
],
groups_for_extras: [
Features: Path.wildcard("docs/features/*.md"),
"Cache Warming": Path.wildcard("docs/features/cache-warming/*.md"),
Migration: Path.wildcard("docs/migrations/*.md")
]
],
test_coverage: [
tool: ExCoveralls
],
preferred_cli_env: [
docs: :docs,
bench: :bench,
credo: :lint,
cachex: :test,
coveralls: :cover,
"coveralls.html": :cover,
"coveralls.travis": :cover
],
aliases: [
bench: "run benchmarks/main.exs"
]
]
end
# Configuration for the OTP application
#
# Type "mix help compile.app" for more information
def application do
[
mod: {Cachex.Application, []},
extra_applications: [:unsafe]
]
end
# Dependencies can be Hex packages:
#
# {:mydep, "~> 0.3.0"}
#
# Or git/path repositories:
#
# {:mydep, git: "https://github.com/elixir-lang/mydep.git", tag: "0.1.0"}
#
# Type "mix help deps" for more examples and options
defp deps do
[
# Production dependencies
{:eternal, "~> 1.2"},
{:jumper, "~> 1.0"},
{:sleeplocks, "~> 1.1"},
{:unsafe, "~> 1.0"},
# Testing dependencies
{:excoveralls, "~> 0.15", optional: true, only: [:cover]},
{:local_cluster, "~> 1.1", optional: true, only: [:cover, :test]},
# Linting dependencies
{:credo, "~> 1.6", optional: true, only: [:lint]},
# Benchmarking dependencies
{:benchee, "~> 1.1", optional: true, only: [:bench]},
{:benchee_html, "~> 1.0", optional: true, only: [:bench]},
# Documentation dependencies
{:ex_doc, "~> 0.29", optional: true, only: [:docs]}
]
end
end