Browse Source

Add a VERSION file for git-archive export

- Use git to get tag and commit hash or fall back to extracting
  the values from the VERSION file if it is (from git archive)
Kailash Nadh 3 years ago
parent
commit
d27e16e9ca
3 changed files with 9 additions and 2 deletions
  1. 1 0
      .gitattributes
  2. 6 2
      Makefile
  3. 2 0
      VERSION

+ 1 - 0
.gitattributes

@@ -1 +1,2 @@
 frontend/* linguist-vendored
 frontend/* linguist-vendored
+VERSION export-subst

+ 6 - 2
Makefile

@@ -1,5 +1,9 @@
-LAST_COMMIT := $(shell git rev-parse --short HEAD)
-VERSION := $(shell git describe --tags --abbrev=0)
+# Try to get the commit hash from 1) git 2) the VERSION file 3) fallback.
+LAST_COMMIT := $(or $(shell git rev-parse --short HEAD 2> /dev/null),$(shell head -n 1 VERSION | grep -oP -m 1 "^[a-z0-9]+$$"),"UNKNOWN")
+
+# Try to get the semver from 1) git 2) the VERSION file 3) fallbakc.
+VERSION := $(or $(shell git describe --tags --abbrev=0 2> /dev/null),$(shell grep -oP "tag: \K(.*)(?=,)" VERSION),"v0.0.0")
+
 BUILDSTR := ${VERSION} (\#${LAST_COMMIT} $(shell date -u +"%Y-%m-%dT%H:%M:%S%z"))
 BUILDSTR := ${VERSION} (\#${LAST_COMMIT} $(shell date -u +"%Y-%m-%dT%H:%M:%S%z"))
 
 
 YARN ?= yarn
 YARN ?= yarn

+ 2 - 0
VERSION

@@ -0,0 +1,2 @@
+$Format:%h$
+$Format:%D$