Commit a77ae0bc authored by mingjun97's avatar mingjun97 Committed by Melledy
Browse files

Introduce `-version` argument to display version

parent 9fc18151
...@@ -45,6 +45,14 @@ targetCompatibility = JavaVersion.VERSION_17 ...@@ -45,6 +45,14 @@ targetCompatibility = JavaVersion.VERSION_17
group = 'xyz.grasscutters' group = 'xyz.grasscutters'
version = '1.1.1-dev' version = '1.1.1-dev'
def gitCommitHash = {
try {
return 'git rev-parse --verify --short HEAD'.execute().text.trim()
} catch (e) {
return "GIT_NOT_FOUND"
}
}
sourceCompatibility = 17 sourceCompatibility = 17
targetCompatibility = 17 targetCompatibility = 17
...@@ -97,6 +105,7 @@ application { ...@@ -97,6 +105,7 @@ application {
mainClassName = 'emu.grasscutter.Grasscutter' mainClassName = 'emu.grasscutter.Grasscutter'
} }
jar { jar {
manifest { manifest {
attributes 'Main-Class': 'emu.grasscutter.Grasscutter' attributes 'Main-Class': 'emu.grasscutter.Grasscutter'
...@@ -113,6 +122,13 @@ jar { ...@@ -113,6 +122,13 @@ jar {
from('src/main/java') { from('src/main/java') {
include '*.xml' include '*.xml'
} }
new File(projectDir, "src/generated/main/java/emu/grasscutter/BuildConfig.java").text = """
package emu.grasscutter;
public class BuildConfig {
public static final String VERSION = \"${version}\";
public static final String GIT_HASH = \"${gitCommitHash()}\";
}
"""
destinationDir = file(".") destinationDir = file(".")
} }
......
...@@ -29,6 +29,7 @@ import emu.grasscutter.server.dispatch.DispatchServer; ...@@ -29,6 +29,7 @@ import emu.grasscutter.server.dispatch.DispatchServer;
import emu.grasscutter.server.game.GameServer; import emu.grasscutter.server.game.GameServer;
import emu.grasscutter.tools.Tools; import emu.grasscutter.tools.Tools;
import emu.grasscutter.utils.Crypto; import emu.grasscutter.utils.Crypto;
import emu.grasscutter.BuildConfig;
import javax.annotation.Nullable; import javax.annotation.Nullable;
...@@ -82,6 +83,9 @@ public final class Grasscutter { ...@@ -82,6 +83,9 @@ public final class Grasscutter {
case "-gachamap" -> { case "-gachamap" -> {
Tools.createGachaMapping(DATA("gacha_mappings.js")); exitEarly = true; Tools.createGachaMapping(DATA("gacha_mappings.js")); exitEarly = true;
} }
case "-version" -> {
System.out.println("Grasscutter version: " + BuildConfig.VERSION + "\nGit Hash: " + BuildConfig.GIT_HASH); exitEarly = true;
}
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment