diff options
-rw-r--r-- | mix.exs | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -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 |