diff options
Diffstat (limited to 'app/functions.php')
-rw-r--r-- | app/functions.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/functions.php b/app/functions.php index 0c611f95..b759763f 100644 --- a/app/functions.php +++ b/app/functions.php @@ -3,6 +3,32 @@ use Kanboard\Core\Translator; /** + * Build version number from git-archive output + * + * @param string $ref + * @param string $commit_hash + * @return string + */ +function build_app_version($ref, $commit_hash) +{ + $version = 'master'; + + if ($ref !== '$Format:%d$') { + $tag = preg_replace('/\s*\(.*tag:\sv([^,]+).*\)/i', '\1', $ref); + + if (!is_null($tag) && $tag !== $ref) { + return $tag; + } + } + + if ($commit_hash !== '$Format:%H$') { + $version .= '.'.$commit_hash; + } + + return $version; +} + +/** * Translate a string * * @return string |