Current section
Files
Jump to
Current section
Files
lib/exscm.ex
defmodule Exscm do
@moduledoc """
Module for generating versions for a release from git.
"""
def get_version() do
String.trim(git_version())
end
defp git_version() do
version = case System.cmd("git", ["describe", "--tags", "--long", "--dirty"]) do
{revision, 0} -> Exscm.Git.git_to_version(revision)
{"", 128} -> "0.0.0"
end
case String.contains?(version, ".dirty") do
true -> "#{version}"
false -> "#{version}#{dirty()}"
end
end
defp dirty() do
case System.cmd("git", ["status", "--porcelain", "--untracked-files=normal"]) do
{"", 0} -> ""
{_untracked, 0} -> ".dirty"
end
end
end