diff options
-rw-r--r-- | addon.gradle | 34 |
1 files 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) } |