Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Weave.Mixfile do
@moduledoc """
Weave: Elixir's JIT Configuration Module
"""
use Mix.Project
@non_prod_environments [:dev, :test]
def project do
[
app: :weave,
version: "4.0.0",
elixir: "~> 1.3",
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
deps: deps(),
elixirc_paths: elixirc_paths(Mix.env()),
aliases: aliases(),
description: description(),
package: package(),
test_coverage: [tool: ExCoveralls],
docs: [main: "readme", extras: ["README.md"]]
]
end
def application do
[
applications: [
:logger
]
]
end
def deps do
[
{:credo, "~> 0.8", only: @non_prod_environments, runtime: false},
{:dialyxir, "~> 0.5", only: @non_prod_environments, runtime: false},
{:ex_doc, ">= 0.0.0", only: @non_prod_environments},
{:excoveralls, "~> 0.7", only: @non_prod_environments},
{:uuid, "~> 1.1", only: @non_prod_environments}
]
end
def aliases do
[init: ["local.hex --force", "deps.get"]]
end
defp description do
"""
Weave allows you to configure your application just-in-time (JIT),
embracing the 12-Factor manifesto. Weave supports loading configuration from
environment variables and files, with prefix and
filename filtering. Works great with Kubernetes and Docker Swarm.
"""
end
defp package do
[
name: :weave,
files: ["lib", "mix.exs", "README.md", "LICENSE"],
maintainers: ["GT8 Online"],
licenses: ["MIT"],
links: %{"Source Code" => "https://gitlab.com/gt8/open-source/elixir/weave"}
]
end
defp elixirc_paths(:dev), do: ["lib"]
defp elixirc_paths(:test), do: ["test", "test/support", "example"] ++ elixirc_paths(:dev)
defp elixirc_paths(_), do: ["lib"]
end