aboutsummaryrefslogtreecommitdiff
path: root/publish
diff options
context:
space:
mode:
Diffstat (limited to 'publish')
-rw-r--r--publish/build.gradle20
-rw-r--r--publish/get_version.py14
-rw-r--r--publish/update_updatejson.py2
3 files changed, 34 insertions, 2 deletions
diff --git a/publish/build.gradle b/publish/build.gradle
index 16bc7fc..9cf7c6e 100644
--- a/publish/build.gradle
+++ b/publish/build.gradle
@@ -9,7 +9,25 @@ import groovy.json.JsonSlurper
import okhttp3.OkHttpClient
import java.util.concurrent.TimeUnit
-def buildVersion = new File("${projectDir}/version.txt").getText('UTF-8').trim()
+def getCommitVersion(){
+ try {
+ def commitHashProc = "python3 ${projectDir}/get_version.py".execute()
+ commitHashProc.waitFor()
+ if(commitHashProc.exitValue() == 0){
+ def commitHash = commitHashProc.text.trim()
+
+ return commitHash
+ } else {
+ println commitHashProc.err.text
+ throw new Exception("get_version.py exited with non-zero return value")
+ }
+ } catch(Exception e){
+ println "Failed to run get_version.py: " + e.getMessage()
+ }
+ return "UNKNOWN" // fallback
+}
+
+def buildVersion = getCommitVersion()
def changeLog = new File("${projectDir}/changelog.md").getText('UTF-8')
def gameVersionsMap = new JsonSlurper().parseText(file("gameVersions.json").getText('UTF-8'))
ext.gameVersions = gameVersionsMap.keySet()
diff --git a/publish/get_version.py b/publish/get_version.py
new file mode 100644
index 0000000..0c19c2d
--- /dev/null
+++ b/publish/get_version.py
@@ -0,0 +1,14 @@
+import subprocess
+import sys
+import os
+
+ver = None
+
+versionPath = os.path.dirname(sys.argv[0]) + "/version.txt"
+if os.path.exists(versionPath):
+ with open(versionPath, "r", encoding="utf8") as fp:
+ ver = fp.read()
+else:
+ ver = subprocess.run("git describe --tags --dirty", capture_output=True, text=True).stdout or "UNKNOWN-" + subprocess.run("git describe --always --dirty", capture_output=True, text=True).stdout or "UNKNOWN"
+
+print(ver.strip())
diff --git a/publish/update_updatejson.py b/publish/update_updatejson.py
index 8d751e5..b381729 100644
--- a/publish/update_updatejson.py
+++ b/publish/update_updatejson.py
@@ -7,7 +7,7 @@ jsonPath = "../updatejson/update.json"
fullFormat = "updateJsonFullVersionFormat=true" in open("gradle.properties", "r", encoding="utf8").read()
data = json.load(open(jsonPath, "r", encoding="utf8"))
-ver = open("version.txt", "r").read().strip()
+ver = subprocess.run("python3 get_version.py", capture_output=True, text=True).stdout.strip()
for gameVer in json.load(open("gameVersions.json", "r")).keys():
modVer = "{}".format(ver) if not fullFormat else "{}-{}".format(gameVer, ver)