defmodule Enver.Mixfile do use Mix.Project ########## # Public # ########## def application() do [ extra_applications: extra_applications(), mod: mod() ] end def project() do [ app: app(), build_embedded: Mix.env == :prod, deps: deps(), description: description(), elixir: elixir(), package: package(), start_permanent: Mix.env == :prod, version: version() ] end ########### # Private # ########### defp app() do :enver end defp deps() do [ docs_generator() ] end defp description() do """ A utility for managing application & system configuration data. """ end defp docs_generator() do {:ex_doc, "~> 0.14", only: :dev} end defp elixir() do "~> 1.4" end defp extra_applications() do [ :logger ] end defp files() do [ "lib", "mix.exs", "CHANGELOG.md", "README.md", "LICENSE.md", "VERSION.txt" ] end defp licenses() do for license <- ["LICENSE.md"] do File.stream!(license) |> Enum.at(0) |> String.trim() end end defp links() do %{ "GitHub" => "https://github.com/amorphid/enver-elixir" } end defp maintainers() do [ "Michael Pope" ] end defp mod() do {Enver.Application, []} end defp package() do [ files: files(), licenses: licenses(), links: links(), maintainers: maintainers() ] end defp version() do File.stream!("VERSION.txt") |> Enum.at(0) |> String.trim() end end