From 77f7c342989a9f409b031f56d7bdf89c89721390 Mon Sep 17 00:00:00 2001 From: JeremyStarTM Date: Tue, 23 Apr 2024 19:47:46 +0200 Subject: [PATCH] Implement support for git commit versioning This commit also removes the Makefile introduced in 80236e6130edcc8d02e2da6ab8c41e2028c24954 as make doesn't seem to like $(). --- Makefile | 10 --------- build.sh | 21 +++++++++++++++++++ .../java/de/pickshadow/plugin/GitHead.java | 7 +++++++ .../plugin/classes/Translation.java | 3 ++- 4 files changed, 30 insertions(+), 11 deletions(-) delete mode 100644 Makefile create mode 100755 build.sh create mode 100644 src/main/java/de/pickshadow/plugin/GitHead.java diff --git a/Makefile b/Makefile deleted file mode 100644 index 9f07f7f..0000000 --- a/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -.PHONY: dist help build clean -dist: help -help: - @echo "make help -> Displays all available tasks" - @echo " build -> Compiles the source code into a usable jar file" - @echo " clean -> Cleans the repository" -build: - ./gradlew shadowJar -clean: - rm -rf .gradle build diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..589c0ed --- /dev/null +++ b/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash +set -euo pipefail +echo ":: Renaming GitHead.java to GitHead.javabak" +mv src/main/java/de/pickshadow/plugin/GitHead.java src/main/java/de/pickshadow/plugin/GitHead.javabak +echo ":: Writing new GitHead.java" +cat << EOF >> src/main/java/de/pickshadow/plugin/GitHead.java +package de.pickshadow.plugin; + +public class GitHead { + public static String commitSha = "$(git rev-parse HEAD)"; + public static String commitShaShort = "$(git rev-parse --short HEAD)"; + public static String commitMessage = "$(PAGER= git log --format=%B -n 1 $(git rev-parse HEAD)|head -1|sed "s/\\\/\\\\/g"|sed "s/\"/\\\\\"/g")"; +} +EOF +echo ":: Compiling plugin" +./gradlew shadowJar +EXITCODE="${?}" +echo ":: Renaming GitHead.javabak to GitHead.java" +mv src/main/java/de/pickshadow/plugin/GitHead.javabak src/main/java/de/pickshadow/plugin/GitHead.java +echo ":: Exiting with code ${EXITCODE}" +exit "${EXITCODE}" diff --git a/src/main/java/de/pickshadow/plugin/GitHead.java b/src/main/java/de/pickshadow/plugin/GitHead.java new file mode 100644 index 0000000..e4dce3a --- /dev/null +++ b/src/main/java/de/pickshadow/plugin/GitHead.java @@ -0,0 +1,7 @@ +package de.pickshadow.plugin; + +public class GitHead { + public static String commitSha = ""; + public static String commitShaShort = ""; + public static String commitMessage = ""; +} diff --git a/src/main/java/de/pickshadow/plugin/classes/Translation.java b/src/main/java/de/pickshadow/plugin/classes/Translation.java index e88ab8b..c871719 100644 --- a/src/main/java/de/pickshadow/plugin/classes/Translation.java +++ b/src/main/java/de/pickshadow/plugin/classes/Translation.java @@ -19,6 +19,7 @@ package de.pickshadow.plugin.classes; import de.pickshadow.plugin.BuildConfiguration; +import de.pickshadow.plugin.GitHead; import de.pickshadow.plugin.ObjHolder; import java.util.Arrays; @@ -42,7 +43,7 @@ public class Translation { public static String EVENT_LEAVE = "%player% hat den Server verlassen."; // Command: /pssp - public static String PLUGINCOMMAND_INFO = "<#d60532>PickShadow Server Plugin v" + BuildConfiguration.pluginRelease + "-" + BuildConfiguration.getTypeAsString(true) + BuildConfiguration.pluginTyperelease + "\n" + + public static String PLUGINCOMMAND_INFO = "<#d60532>PickShadow Server Plugin v" + BuildConfiguration.pluginRelease + "-" + BuildConfiguration.getTypeAsString(true) + BuildConfiguration.pluginTyperelease + " (commit " + GitHead.commitShaShort + ")\n" + "Entwickelt von " + Arrays.toString(BuildConfiguration.pluginAuthors).replace("[", "").replace("]", "") + " & Beitragenden.\n" + "Der Quellcode ist unter der " + BuildConfiguration.pluginLicense + " Lizenz lizensiert und kann hier gefunden werden."; public static String PLUGINCOMMAND_RELOAD_CONFIG = "Die Konfigurationsdatei wird neugeladen, einen Moment bitte...";