From 35c5f5f58b38f83afc15a481d1a75544932b9185 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sat, 15 Apr 2023 15:44:09 +0800 Subject: improve NBT version detection in buildscript (#1885) --- addon.gradle | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/addon.gradle b/addon.gradle index 93e57c24d9..a8ae02eed1 100644 --- a/addon.gradle +++ b/addon.gradle @@ -9,9 +9,33 @@ test { } minecraft { - String version = project.version - def (five,major,minor,patch)= version.split("[.-]", 5) - injectedTags.put 'VERSION_MAJOR', 500 + major.toInteger() - injectedTags.put 'VERSION_MINOR', minor.toInteger() - injectedTags.put 'VERSION_PATCH', patch.toInteger() + def vMajor, vMinor, vPatch, logLevel = LogLevel.INFO + try { + String version = project.version + def (five,major,minor,patch)= version.split("[.-]", 5) + + vMajor = 500 + major.toInteger() + vMinor = minor.toInteger() + vPatch = patch.toInteger() + } catch (Exception ex) { + try { + String version = "git describe".execute().text + def (five,major,minor,patch)= version.split("[.-]", 5) + vMajor = 500 + major.toInteger() + vMinor = minor.toInteger() + vPatch = patch.toInteger() + logLevel = LogLevel.LIFECYCLE + } catch (Exception ex2) { + def err = "Cannot automatically determine NBT version. Using defaults hardcoded in buildscript. This could break your world!" + project.logger.error(err) + vMajor = 509 + vMinor = 42 + vPatch = 55 + logLevel = LogLevel.WARN + } + } + injectedTags.put 'VERSION_MAJOR', vMajor + injectedTags.put 'VERSION_MINOR', vMinor + injectedTags.put 'VERSION_PATCH', vPatch + project.logger.log(logLevel, 'Using ({}, {}, {}) as NBT version', vMajor, vMinor, vPatch) } -- cgit