From a43365bd583c3b3e0465d05462f8b1271c86beb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Thu, 29 Jul 2021 11:19:18 +0200 Subject: [PATCH] Allow overriding `VERSION_STATUS` with `GODOT_VERSION_STATUS` in env `VERSION_STATUS` is part of what constitutes the reference version for a given Godot build, and is part of the version check for compatible export templates. For dev snapshots (alpha, beta, RCs), we usually set the `VERSION_STATUS` to a specific build number (e.g. `beta2`), but this change doesn't end up committed to the Git repository as we don't want to keep changing `version.py` for testing builds. So this new environment override will be what can be used in official builds and by users making custom builds for specific snapshots. (cherry picked from commit 948dcb63ca4f31f12d936761cdc177a730a196fc) --- methods.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/methods.py b/methods.py index 22cc824ab1b..fe8adb2dfc1 100644 --- a/methods.py +++ b/methods.py @@ -58,10 +58,9 @@ def add_module_version_string(self, s): def update_version(module_version_string=""): - build_name = "custom_build" if os.getenv("BUILD_NAME") != None: - build_name = os.getenv("BUILD_NAME") + build_name = str(os.getenv("BUILD_NAME")) print("Using custom build name: " + build_name) import version @@ -73,7 +72,13 @@ def update_version(module_version_string=""): f.write("#define VERSION_MAJOR " + str(version.major) + "\n") f.write("#define VERSION_MINOR " + str(version.minor) + "\n") f.write("#define VERSION_PATCH " + str(version.patch) + "\n") - f.write('#define VERSION_STATUS "' + str(version.status) + '"\n') + # For dev snapshots (alpha, beta, RC, etc.) we do not commit status change to Git, + # so this define provides a way to override it without having to modify the source. + godot_status = str(version.status) + if os.getenv("GODOT_VERSION_STATUS") != None: + godot_status = str(os.getenv("GODOT_VERSION_STATUS")) + print("Using version status '%s', overriding the original '%s'.".format(godot_status, str(version.status))) + f.write('#define VERSION_STATUS "' + godot_status + '"\n') f.write('#define VERSION_BUILD "' + str(build_name) + '"\n') f.write('#define VERSION_MODULE_CONFIG "' + str(version.module_config) + module_version_string + '"\n') f.write("#define VERSION_YEAR " + str(version.year) + "\n")