aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mix.exs16
1 files changed, 14 insertions, 2 deletions
diff --git a/mix.exs b/mix.exs
index ee2dd6c53..df3253d5a 100644
--- a/mix.exs
+++ b/mix.exs
@@ -176,7 +176,9 @@ defmodule Pleroma.Mixfile do
ahead <- String.replace(describe, tag, "") do
{String.replace_prefix(tag, "v", ""), if(ahead != "", do: String.trim(ahead))}
else
- _ -> {nil, nil}
+ _ ->
+ {commit_hash, 0} = System.cmd("git", ["rev-parse", "--short", "HEAD"])
+ {nil, "-0-g" <> String.trim(commit_hash)}
end
if git_tag && version != git_tag do
@@ -203,7 +205,17 @@ defmodule Pleroma.Mixfile do
string -> "+" <> string
end).()
- [version, git_pre_release, build]
+ branch_name =
+ with {branch_name, 0} <- System.cmd("git", ["rev-parse", "--abbrev-ref", "HEAD"]),
+ true <- branch_name != "master" do
+ branch_name =
+ String.trim(branch_name)
+ |> String.replace(~r/\W+/, "-")
+
+ "-" <> branch_name
+ end
+
+ [version, git_pre_release, branch_name, build]
|> Enum.filter(fn string -> string && string != "" end)
|> Enum.join()
end