Packages

Elixir library to manage containers from several remote dockers, using the Docker Engine API v1.35.

Current section

Files

Jump to
Raw

mix.exs

defmodule RemoteDockers.MixProject do
use Mix.Project
def project do
[
app: :remote_dockers,
version: get_version(),
elixir: "~> 1.6",
start_permanent: Mix.env() == :prod,
deps: deps(),
package: package(),
description: description(),
# Docs
name: "RemoteDockers",
source_url: "https://github.com/FTV-Subtil/ex_remote_dockers",
homepage_url: "https://github.com/FTV-Subtil/ex_remote_dockers",
docs: [
main: "RemoteDockers",
extras: ["README.md"]
]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [
:logger,
:httpoison
]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:httpoison, "~> 1.0"},
{:poison, "~> 3.1"},
{:ex_doc, "~> 0.18", only: :dev, runtime: false}
]
end
defp description() do
"Elixir library to manage containers from several remote dockers, using the Docker Engine API v1.35."
end
defp package() do
[
name: "remote_dockers",
files: ["lib", "mix.exs", "README*", "LICENSE*", "VERSION"],
maintainers: [
"Valentin Noël",
"Marc-Antoine Arnaud"
],
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/FTV-Subtil/ex_remote_dockers"}
]
end
defp get_version do
version_from_file()
|> handle_file_version()
|> String.replace_leading("v", "")
end
defp version_from_file(file \\ "VERSION") do
File.read(file)
end
defp handle_file_version({:ok, content}) do
content
end
defp handle_file_version({:error, _}) do
retrieve_version_from_git()
end
defp retrieve_version_from_git do
require Logger
Logger.warn "Calling out to `git describe` for the version number. This is slow! You should think about a hook to set the VERSION file"
System.cmd("git", ~w{describe --always --tags --first-parent})
|> elem(0)
|> String.trim
end
end