Better versioning system
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
name: Build (stable/1.19.2)
|
||||
name: Build (main)
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "stable/1.19.2"
|
||||
- "main"
|
||||
|
||||
env:
|
||||
MC_VERSION: "1.19.2"
|
||||
@@ -44,12 +44,12 @@ jobs:
|
||||
export BUILD_NUMBER_111=${{ env.workflow }}
|
||||
./gradlew createReobfPaperclipJar --stacktrace --no-daemon
|
||||
- name: Rename Jar
|
||||
run: "mv build/libs/keyi-paperclip-${{ env.MC_VERSION }}-R0.1-SNAPSHOT-reobf.jar build/libs/keyi-stable-${{ env.MC_VERSION }}-${{ env.workflow }}.jar"
|
||||
run: "mv build/libs/keyi-paperclip-${{ env.MC_VERSION }}-R0.1-SNAPSHOT-reobf.jar build/libs/keyi-${{ env.ref }}-${{ env.MC_VERSION }}-${{ env.workflow }}.jar"
|
||||
- name: Release Artifacts
|
||||
uses: marvinpinto/action-automatic-releases@latest
|
||||
with:
|
||||
title: "[${{ env.ref }}] #${{ env.workflow }}"
|
||||
automatic_release_tag: "stable-latest"
|
||||
automatic_release_tag: "main-latest"
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
files: build/libs/keyi-stable-${{ env.MC_VERSION }}-${{ env.workflow }}.jar
|
||||
files: "build/libs/keyi-${{ env.ref }}-${{ env.MC_VERSION }}-${{ env.workflow }}.jar"
|
||||
prerelease: false
|
||||
19
patches/api/0004-Rebrand.patch
Normal file
19
patches/api/0004-Rebrand.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: nostalgic853 <yuu8583@proton.me>
|
||||
Date: Sun, 23 Oct 2022 21:32:36 +0800
|
||||
Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/command/defaults/VersionCommand.java b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
index eac5830986cd0638950bbb1e6f10a30e246e09a7..f446b486adcbee360ebbb63195ea5828311cf0f3 100644
|
||||
--- a/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
+++ b/src/main/java/org/bukkit/command/defaults/VersionCommand.java
|
||||
@@ -198,7 +198,7 @@ public class VersionCommand extends BukkitCommand {
|
||||
String version = Bukkit.getVersion();
|
||||
// Paper start
|
||||
if (version.startsWith("null")) { // running from ide?
|
||||
- setVersionMessage(net.kyori.adventure.text.Component.text("* Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.RED)); // Purpur
|
||||
+ setVersionMessage(net.kyori.adventure.text.Component.text("Unknown version, custom build?", net.kyori.adventure.text.format.NamedTextColor.RED)); // Purpur // KeYi
|
||||
return;
|
||||
}
|
||||
setVersionMessage(getVersionFetcher().getVersionMessage(version));
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 2ee34f92e8a89b90448bbf710fdc0d5d6350e919..f15f7470a591d8491055d0ac3205224f6735ea59 100644
|
||||
index 2ee34f92e8a89b90448bbf710fdc0d5d6350e919..299ac3fab7543cb7ae0371ae80ea4786e6d37d8b 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -9,7 +9,7 @@ plugins {
|
||||
@@ -29,7 +29,7 @@ index 2ee34f92e8a89b90448bbf710fdc0d5d6350e919..f15f7470a591d8491055d0ac3205224f
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
- "Implementation-Version" to "git-Purpur-$implementationVersion",// Purpur
|
||||
+ "Implementation-Version" to "git-KeYi-stable-$implementationVersion",// Purpur // KeYi
|
||||
+ "Implementation-Version" to "git-KeYi-$gitBranch-$implementationVersion",// Purpur // KeYi
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -56,10 +56,29 @@ index acd95cf1dc7f009b63e44e4404e1736283fd458e..3436a377f9c11d8f2a39af65c3370861
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||
index fba5dbdb7bcbb55400ef18342c9b54612972a718..fc65beba373834f4c6cf43f15e18b4655960a602 100644
|
||||
index fba5dbdb7bcbb55400ef18342c9b54612972a718..005983d56b283e54e2cf450f1e9f985aa22503a9 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java
|
||||
@@ -20,7 +20,7 @@ import java.util.stream.StreamSupport;
|
||||
@@ -4,27 +4,31 @@ import com.destroystokyo.paper.util.VersionFetcher;
|
||||
import com.google.common.base.Charsets;
|
||||
import com.google.common.io.Resources;
|
||||
import com.google.gson.*;
|
||||
+import io.papermc.paper.util.JarManifests;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.event.ClickEvent;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
-import net.kyori.adventure.text.format.TextDecoration;
|
||||
-import net.kyori.adventure.text.TextComponent;
|
||||
+import org.bukkit.Bukkit;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
-import java.util.stream.StreamSupport;
|
||||
+import java.util.jar.Manifest;
|
||||
|
||||
public class PaperVersionFetcher implements VersionFetcher {
|
||||
private static final java.util.regex.Pattern VER_PATTERN = java.util.regex.Pattern.compile("^([0-9\\.]*)\\-.*R"); // R is an anchor, will always give '-R' at end
|
||||
// Purpur start
|
||||
@@ -68,18 +87,26 @@ index fba5dbdb7bcbb55400ef18342c9b54612972a718..fc65beba373834f4c6cf43f15e18b465
|
||||
private static int distance = -2; public int distance() { return distance; }
|
||||
// Purpur end
|
||||
private static @Nullable String mcVer;
|
||||
@@ -33,8 +33,8 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
-
|
||||
+ // KeYi start
|
||||
+ private static final Manifest JAR_MANIFEST = JarManifests.manifest(Bukkit.getServer().getClass());
|
||||
+ private static final String GIT_BRANCH = JAR_MANIFEST == null ? null : JAR_MANIFEST.getMainAttributes().getValue("Git-Branch");
|
||||
+ private static final String GIT_COMMIT = JAR_MANIFEST == null ? null : JAR_MANIFEST.getMainAttributes().getValue("Git-Commit");
|
||||
+ // KeYi end
|
||||
@Override
|
||||
public long getCacheTime() {
|
||||
return 720000;
|
||||
@@ -33,8 +37,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
@Nonnull
|
||||
@Override
|
||||
public Component getVersionMessage(@Nonnull String serverVersion) {
|
||||
- String[] parts = serverVersion.substring("git-Purpur-".length()).split("[-\\s]"); // Purpur
|
||||
- final Component updateMessage = getUpdateStatusMessage("PurpurMC/Purpur", "ver/" + getMinecraftVersion(), parts[0]); // Purpur
|
||||
+ String[] parts = serverVersion.substring("git-KeYi-stable-".length()).split("[-\\s]"); // Purpur // KeYi
|
||||
+ final Component updateMessage = getUpdateStatusMessage("KeYiMC/KeYi", "stable/1.19.2", parts[0]); // Purpur // KeYi
|
||||
+ final Component updateMessage = getUpdateStatusMessage("KeYiMC/KeYi", GIT_BRANCH, GIT_COMMIT); // Purpur // KeYi
|
||||
final Component history = getHistory();
|
||||
|
||||
return history != null ? Component.join(net.kyori.adventure.text.JoinConfiguration.separator(Component.newline()), history, updateMessage) : updateMessage; // Purpur
|
||||
@@ -47,7 +47,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
@@ -47,7 +50,7 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
String result = matcher.group();
|
||||
mcVer = result.substring(0, result.length() - 2); // strip 'R' anchor and trailing '-'
|
||||
} else {
|
||||
@@ -88,7 +115,7 @@ index fba5dbdb7bcbb55400ef18342c9b54612972a718..fc65beba373834f4c6cf43f15e18b465
|
||||
org.bukkit.Bukkit.getLogger().warning("Pattern: " + VER_PATTERN.toString());
|
||||
org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion());
|
||||
}
|
||||
@@ -58,6 +58,8 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
@@ -58,6 +61,8 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
|
||||
private static Component getUpdateStatusMessage(@Nonnull String repo, @Nonnull String branch, @Nonnull String versionInfo) {
|
||||
//int distance; // Purpur - use field
|
||||
@@ -97,19 +124,47 @@ index fba5dbdb7bcbb55400ef18342c9b54612972a718..fc65beba373834f4c6cf43f15e18b465
|
||||
try {
|
||||
int jenkinsBuild = Integer.parseInt(versionInfo);
|
||||
distance = fetchDistanceFromSiteApi(jenkinsBuild, getMinecraftVersion());
|
||||
@@ -65,6 +67,12 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
@@ -65,22 +70,25 @@ public class PaperVersionFetcher implements VersionFetcher {
|
||||
versionInfo = versionInfo.replace("\"", "");
|
||||
distance = fetchDistanceFromGitHub(repo, branch, versionInfo);
|
||||
}
|
||||
+ */
|
||||
+
|
||||
|
||||
- switch (distance) {
|
||||
- case -1:
|
||||
- return Component.text("* Error obtaining version information", NamedTextColor.RED); // Purpur
|
||||
- case 0:
|
||||
- return Component.text("* You are running the latest version", NamedTextColor.GREEN); // Purpur
|
||||
- case -2:
|
||||
- return Component.text("* Unknown version", NamedTextColor.RED); // Purpur
|
||||
- default:
|
||||
- return Component.text("* You are " + distance + " version(s) behind", NamedTextColor.YELLOW) // Purpur
|
||||
- .append(Component.newline())
|
||||
- .append(Component.text("Download the new version at: ")
|
||||
- .append(Component.text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
||||
- .hoverEvent(Component.text("Click to open", NamedTextColor.WHITE))
|
||||
- .clickEvent(ClickEvent.openUrl(DOWNLOAD_PAGE))));
|
||||
- }
|
||||
+ versionInfo = versionInfo.replace("\"", "");
|
||||
+ distance = fetchDistanceFromGitHub(repo, branch, versionInfo);
|
||||
+
|
||||
+ // KeYi end
|
||||
+
|
||||
+ // KeYi start
|
||||
+ return switch (distance) {
|
||||
+ case -1 -> Component.text("Failed to obtain version information.", NamedTextColor.RED); // Purpur // KeYi
|
||||
+ case 0 -> Component.text("You are running the latest version.", NamedTextColor.GREEN); // Purpur // KeYi
|
||||
+ case -2 -> Component.text("You are running an unknown version.", NamedTextColor.RED); // Purpur // KeYi
|
||||
+ default -> Component.text("You are " + distance + " version(s) behind.", NamedTextColor.YELLOW) // Purpur // KeYi
|
||||
+ .append(Component.newline())
|
||||
+ .append(Component.text("Download the new version at: ")
|
||||
+ .append(Component.text(DOWNLOAD_PAGE, NamedTextColor.GOLD)
|
||||
+ .hoverEvent(Component.text("Click to open", NamedTextColor.WHITE))
|
||||
+ .clickEvent(ClickEvent.openUrl(DOWNLOAD_PAGE))));
|
||||
+ };
|
||||
+ // KeYi end
|
||||
}
|
||||
|
||||
switch (distance) {
|
||||
case -1:
|
||||
private static int fetchDistanceFromSiteApi(int jenkinsBuild, @Nullable String siteApiVersion) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f9508a26b2e764e752da3d2c9f43a9d7de19dd27..4f029b96bf8deee597dbb56974e4519a1422f96d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
|
||||
Reference in New Issue
Block a user