Show git hash when starting the server

This commit is contained in:
Melledy
2023-11-14 04:06:26 -08:00
parent bb62a6a2cb
commit 04ed507796
3 changed files with 35 additions and 0 deletions

1
.gitignore vendored
View File

@@ -72,4 +72,5 @@ Lunar Core Handbook.txt
config.json
*.mv
*.exe
BuildConfig.java
Test.java

View File

@@ -102,6 +102,8 @@ application {
}
jar {
dependsOn 'injectGitHash'
exclude '*.proto'
manifest {
@@ -145,6 +147,24 @@ eclipse {
}
}
tasks.register('injectGitHash') {
def gitCommitHash = {
try {
return 'git rev-parse --verify --short HEAD'.execute().text.trim()
} catch (ignored) {
return 'GIT_NOT_FOUND'
}
}
new File(project.projectDir.getAbsolutePath() + '/src/main/java/emu/lunarcore/BuildConfig.java').text = """
package emu.lunarcore;
public final class BuildConfig {
public static final String GIT_HASH = \"${gitCommitHash()}\";
}
"""
}
task updateProto {
group 'Build'
description 'Cleans generated proto folder and regenerates protos'

View File

@@ -59,6 +59,7 @@ public class LunarCore {
public static void main(String[] args) {
// Start Server
LunarCore.getLogger().info("Starting Lunar Core...");
LunarCore.getLogger().info("Git hash: " + getGitHash());
LunarCore.getLogger().info("Game version: " + GameConstants.VERSION);
boolean generateHandbook = true;
@@ -168,6 +169,19 @@ public class LunarCore {
getLogger().error("Config save error");
}
}
// Git hash
private static String getGitHash() {
// Safely get the build config 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();
} catch (Exception e) {
// Ignored
}
return "Unknown";
}
// Server console