Current section

Files

Jump to
edeliver mix.exs
Raw

mix.exs

defmodule Edeliver.Mixfile do
use Mix.Project
def project do
[
app: :edeliver,
version: "1.3.0",
description: "Build and Deploy Elixir Applications and perform Hot-Code Upgrades and Schema Migrations",
elixirc_paths: elixirc_paths,
package: [
licenses: ["MIT"],
files: [
"bin",
"CHANGELOG.md",
"lib",
"libexec",
"mix.exs",
"src",
"strategies",
"README.md",
],
links: %{"GitHub" => "https://github.com/boldpoker/edeliver"},
],
deps: deps,
docs: docs,
]
end
def application, do:
[applications: [],
mod: {Edeliver, []},
registered: [Edeliver.Supervisor, Edeliver],
env: []
]
defp deps do
if project_uses_distillery? do
[
{:distillery, ">= 0.8.0", warn_missing: false},
{:exrm, ">= 0.16.0", optional: true, warn_missing: false},
]
else
[
{:exrm, ">= 0.16.0", warn_missing: false},
{:distillery, ">= 0.8.0", optional: true, warn_missing: false},
]
end ++
[
{:meck, "~> 0.8.4", only: :test},
{:earmark, "~> 0.1", only: :dev},
{:ex_doc, "~> 0.11.5", only: :dev},
]
end
defp docs, do: [
logo: "docs/logo.png",
extras: [
"README.md": [title: "Usage"],
"docs/auto-versioning.md": [title: "Auto-Versioning"],
"docs/relup-patching.md": [title: "Relup-Patching"],
]
]
defp elixirc_paths do
if project_uses_distillery? do
[Path.join("lib", "distillery")]
else
[Path.join("lib", "exrm")]
end ++ [
Path.join("lib", "edeliver"),
Path.join("lib", "mix"),
Path.join("lib", "edeliver.ex"),
]
end
defp project_uses_distillery? do
try do
Mix.Project.get() |> Kernel.apply(:project, []) |> Keyword.get(:deps) |> List.keymember?(:distillery, 0)
rescue error ->
Mix.Shell.IO.error "Error when detecting whether distillery is used as release build tool: #{inspect error}"
false
catch signal, error ->
Mix.Shell.IO.error "Failed to detect whether distillery is used as release build tool with signal: #{inspect signal} and error: #{inspect error}"
false
end
end
end