From 2b5141882eec53ad9445ed956226702e4c3ee504 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Sat, 16 Dec 2023 01:29:19 -0800 Subject: [PATCH] Format commit timestamp in local time --- build.gradle | 4 ++-- src/main/java/emu/lunarcore/LunarCore.java | 23 +++++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 2ea07b1..daf7dfa 100644 --- a/build.gradle +++ b/build.gradle @@ -180,7 +180,7 @@ tasks.register('injectGitHash') { def gitCommitTime = { try { - return 'git log -1 --format=%cd --date=iso'.execute().text.trim() + return 'git log -1 --format=%at --date=unix'.execute().text.trim() } catch (ignored) { return '' } @@ -192,7 +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()}\"; + public static final long COMMIT_TIMESTAMP = ${gitCommitTime()}; } """ } diff --git a/src/main/java/emu/lunarcore/LunarCore.java b/src/main/java/emu/lunarcore/LunarCore.java index 6af9e64..18be23e 100644 --- a/src/main/java/emu/lunarcore/LunarCore.java +++ b/src/main/java/emu/lunarcore/LunarCore.java @@ -1,6 +1,8 @@ package emu.lunarcore; import java.io.*; +import java.text.SimpleDateFormat; +import java.util.Date; import emu.lunarcore.plugin.PluginManager; import org.jline.reader.EndOfFileException; @@ -210,26 +212,33 @@ public class LunarCore { } catch (Exception e) { // Ignored } + return ""; } private static String getGitHash() { + // Use a string builder in case one of the build config fields are missing + StringBuilder builder = new StringBuilder(); + // Safely get the build config class without errors even if it hasnt been generated yet try { + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 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(); + builder.append(hash); - if (date == null || date.isEmpty()) { - return hash; - } - - return hash + " (" + date + ")"; + long timestamp = buildConfig.getField("COMMIT_TIMESTAMP").getLong(null); + builder.append(" (" + sf.format(new Date(timestamp * 1000)) + ")"); } catch (Exception e) { // Ignored } - return "Unknown"; + + if (builder.isEmpty()) { + return "Unknown"; + } else { + return builder.toString(); + } } // Server console