defmodule Cachex.Mixfile do
use Mix.Project
@version "3.3.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.2",
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
[
applications: [
:logger,
:eternal,
:sleeplocks,
:jumper
],
mod: {Cachex.Application, []}
]
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.11", optional: true, only: [ :cover ] },
{ :local_cluster, "~> 1.1", optional: true, only: [ :cover, :test ] },
# Linting dependencies
{ :credo, "~> 1.1", optional: true, only: [ :lint ] },
# Benchmarking dependencies
{ :benchee, "~> 1.0", optional: true, only: [ :bench ] },
{ :benchee_html, "~> 1.0", optional: true, only: [ :bench ] },
# Documentation dependencies
{ :ex_doc, "~> 0.21", optional: true, only: [ :docs ] }
]
end
end