diff --git a/build.gradle b/build.gradle index d96cacfc0..2ea07b127 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ compileTestJava.options.encoding = "UTF-8" sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 -version = '1.0.0' +version = '1.0.1' var shouldGenerateProto = System.getenv("GENERATE_PROTO") == "true" System.out.println(shouldGenerateProto ? @@ -174,7 +174,15 @@ tasks.register('injectGitHash') { try { return 'git rev-parse --verify --short HEAD'.execute().text.trim() } catch (ignored) { - return 'GIT_NOT_FOUND' + return '' + } + } + + def gitCommitTime = { + try { + return 'git log -1 --format=%cd --date=iso'.execute().text.trim() + } catch (ignored) { + return '' } } @@ -184,6 +192,7 @@ package emu.lunarcore; public final class BuildConfig { public static final String VERSION = \"${version}\"; public static final String GIT_HASH = \"${gitCommitHash()}\"; + public static final String GIT_HASH_TIME = \"${gitCommitTime()}\"; } """ } diff --git a/src/main/java/emu/lunarcore/LunarCore.java b/src/main/java/emu/lunarcore/LunarCore.java index 3133c95f7..adc0d26f7 100644 --- a/src/main/java/emu/lunarcore/LunarCore.java +++ b/src/main/java/emu/lunarcore/LunarCore.java @@ -60,7 +60,7 @@ public class LunarCore { public static void main(String[] args) { // Start Server - LunarCore.getLogger().info("Starting Lunar Core..."); + LunarCore.getLogger().info("Starting Lunar Core " + getJarVersion()); LunarCore.getLogger().info("Git hash: " + getGitHash()); LunarCore.getLogger().info("Game version: " + GameConstants.VERSION); boolean generateHandbook = true; @@ -197,13 +197,32 @@ public static void saveConfig() { } } - // Git hash + // Build Config + + private static String getJarVersion() { + // Safely get the build config class without errors even if it hasnt been generated yet + try { + Class buildConfig = Class.forName(LunarCore.class.getPackageName() + ".BuildConfig"); + return buildConfig.getField("VERSION").get(null).toString(); + } catch (Exception e) { + // Ignored + } + return ""; + } private static String getGitHash() { - // Safely get the build config without errors even if it hasnt been generated yet + // Safely get the build config class without errors even if it hasnt been generated yet try { - Class buildConfig = Class.forName("emu.lunarcore.BuildConfig"); - return buildConfig.getField("GIT_HASH").get(null).toString(); + Class buildConfig = Class.forName(LunarCore.class.getPackageName() + ".BuildConfig"); + + String hash = buildConfig.getField("GIT_HASH").get(null).toString(); + String date = buildConfig.getField("GIT_HASH_TIME").get(null).toString(); + + if (date == null || date.isEmpty()) { + return hash; + } + + return hash + " (" + date + ")"; } catch (Exception e) { // Ignored }