Skip to content

Commit 021ff49

Browse files
authored
[skip ci] Set duplicatesStrategy to INCLUDE to ensure Log4j2PluginsCacheFileTransformer works correctly (#382)
1 parent 06c7dad commit 021ff49

6 files changed

+49
-36
lines changed

patches/server/0003-Setup-Gradle-project.patch

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Subject: [PATCH] Setup Gradle project
66

77
diff --git a/build.gradle.kts b/build.gradle.kts
88
new file mode 100644
9-
index 0000000000000000000000000000000000000000..4ecbf789542fc32ac9816febb62afcd69cd77cff
9+
index 0000000000000000000000000000000000000000..2754c5ad659820b1416c222fcabe03756145422d
1010
--- /dev/null
1111
+++ b/build.gradle.kts
12-
@@ -0,0 +1,129 @@
12+
@@ -0,0 +1,132 @@
1313
+plugins {
1414
+ id("pandaspigot.conventions")
1515
+ id("com.gradleup.shadow") version "9.3.1"
@@ -63,20 +63,22 @@ index 0000000000000000000000000000000000000000..4ecbf789542fc32ac9816febb62afcd6
6363
+
6464
+tasks {
6565
+ shadowJar {
66-
+ mergeServiceFiles()
6766
+ archiveClassifier.set("unmapped")
6867
+
69-
+ val cbLibsPkg = "org.bukkit.craftbukkit.libs"
70-
+
71-
+ relocate("joptsimple", "$cbLibsPkg.joptsimple")
72-
+ relocate("jline", "$cbLibsPkg.jline")
73-
+ relocate("org.ibex", "$cbLibsPkg.org.ibex")
74-
+ relocate("org.gjt", "$cbLibsPkg.org.gjt")
75-
+
7668
+ relocate("org.bukkit.craftbukkit", "org.bukkit.craftbukkit.v${minecraftVersion}") {
7769
+ exclude("org.bukkit.craftbukkit.Main*") // don't relocate main class
7870
+ }
71+
+
72+
+ arrayOf(
73+
+ "joptsimple",
74+
+ "jline",
75+
+ "org.ibex",
76+
+ "org.gjt",
77+
+ ).forEach { relocate(it, "org.bukkit.craftbukkit.libs.$it") }
78+
+
7979
+ relocate("net.minecraft.server", "net.minecraft.server.v${minecraftVersion}")
80+
+
81+
+ mergeServiceFiles()
8082
+ }
8183
+
8284
+ named("build") {
@@ -107,6 +109,7 @@ index 0000000000000000000000000000000000000000..4ecbf789542fc32ac9816febb62afcd6
107109
+ "Git-Branch" to gitBranch,
108110
+ "Git-Commit" to gitHash,
109111
+ )
112+
+ attributes("Name" to "org/bukkit/", "Sealed" to "true")
110113
+ }
111114
+ }
112115
+

patches/server/0005-Update-to-Netty-4.1.x.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Update to Netty 4.1.x
55

66

77
diff --git a/build.gradle.kts b/build.gradle.kts
8-
index fa35e6cdc4b3926cc9476830a841e91571117311..cc6d4cb8976256b8129fb00f52dee50a00a34404 100644
8+
index 3723769acc78fe26284145a0fcb36515022c618a..a7e26e9852d5b067c73cc1b9a773d6586aae32d0 100644
99
--- a/build.gradle.kts
1010
+++ b/build.gradle.kts
1111
@@ -13,7 +13,7 @@ dependencies {
@@ -25,14 +25,14 @@ index fa35e6cdc4b3926cc9476830a841e91571117311..cc6d4cb8976256b8129fb00f52dee50a
2525
implementation("net.sf.jopt-simple:jopt-simple:3.2")
2626
implementation("jline:jline:2.12.1")
2727

28-
@@ -53,6 +52,7 @@ tasks {
29-
shadowJar {
28+
@@ -67,6 +66,7 @@ tasks {
29+
relocate("net.minecraft.server", "net.minecraft.server.v${minecraftVersion}")
30+
3031
mergeServiceFiles()
31-
archiveClassifier.set("unmapped")
3232
+ append("META-INF/io.netty.versions.properties")
33+
}
3334

34-
val cbLibsPkg = "org.bukkit.craftbukkit.libs"
35-
35+
named("build") {
3636
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
3737
index e2eb305468ff76026dc9b24d59394cfc94501273..b48eeb63ad61b18a630f2feb4fd6203e5e3e6c80 100644
3838
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java

patches/server/0014-PandaSpigot-Configuration.patch

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] PandaSpigot Configuration
55

66

77
diff --git a/build.gradle.kts b/build.gradle.kts
8-
index cc6d4cb8976256b8129fb00f52dee50a00a34404..2d7fb97266bbb84f63816937ad66faac8f0d9051 100644
8+
index a7e26e9852d5b067c73cc1b9a773d6586aae32d0..30a686c0e39c4411490578273e2ba2df5e83971d 100644
99
--- a/build.gradle.kts
1010
+++ b/build.gradle.kts
1111
@@ -12,6 +12,12 @@ repositories {
@@ -21,20 +21,21 @@ index cc6d4cb8976256b8129fb00f52dee50a00a34404..2d7fb97266bbb84f63816937ad66faac
2121
// Minecraft libraries:
2222
implementation("io.netty:netty-all:4.1.130.Final") // PandaSpigot - Update Netty to 4.1.x
2323
implementation("com.mojang:authlib:1.5.21")
24-
@@ -53,6 +59,13 @@ tasks {
25-
mergeServiceFiles()
24+
@@ -52,6 +58,14 @@ tasks {
25+
shadowJar {
2626
archiveClassifier.set("unmapped")
27-
append("META-INF/io.netty.versions.properties")
27+
2828
+ // PandaSpigot start - Configuration
2929
+ arrayOf(
3030
+ "com.amihaiemil.eoyaml",
3131
+ "org.spongepowered.configurate",
3232
+ "io.leangen.geantyref",
3333
+ ).forEach { relocate(it, "com.hpfxd.pandaspigot.libs.$it") }
3434
+ // PandaSpigot end
35-
36-
val cbLibsPkg = "org.bukkit.craftbukkit.libs"
37-
35+
+
36+
relocate("org.bukkit.craftbukkit", "org.bukkit.craftbukkit.v${minecraftVersion}") {
37+
exclude("org.bukkit.craftbukkit.Main*") // don't relocate main class
38+
}
3839
diff --git a/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotConfig.java b/src/main/java/com/hpfxd/pandaspigot/config/PandaSpigotConfig.java
3940
new file mode 100644
4041
index 0000000000000000000000000000000000000000..f021fd0c7622a788b809ecbf896162912ab4b0d0

patches/server/0039-Use-TerminalConsoleAppender-for-console-improvements.patch

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ This patch contains heavy inspiration from:
2222
https://github.com/PaperMC/Paper/blob/master/patches/server/0137-Use-TerminalConsoleAppender-for-console-improvements.patch
2323

2424
diff --git a/build.gradle.kts b/build.gradle.kts
25-
index 2d7fb97266bbb84f63816937ad66faac8f0d9051..c00a948f3e9bc92f7086261c236c831d6b147653 100644
25+
index 8aabc66e6b45174d78db36af355804fc8fd3db48..7b16c9ea097206ecc296a9fec921a9e0dfee89f4 100644
2626
--- a/build.gradle.kts
2727
+++ b/build.gradle.kts
2828
@@ -21,8 +21,10 @@ dependencies {
@@ -55,22 +55,31 @@ index 2d7fb97266bbb84f63816937ad66faac8f0d9051..c00a948f3e9bc92f7086261c236c831d
5555
testImplementation("junit:junit:4.11")
5656
testImplementation("org.hamcrest:hamcrest-library:1.3")
5757
}
58-
@@ -59,6 +65,7 @@ tasks {
59-
mergeServiceFiles()
58+
@@ -58,6 +64,8 @@ tasks {
59+
shadowJar {
6060
archiveClassifier.set("unmapped")
61-
append("META-INF/io.netty.versions.properties")
62-
+ transform(com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer()) // PandaSpigot - Use TerminalConsoleAppender
61+
62+
+ duplicatesStrategy = DuplicatesStrategy.INCLUDE // Required for Log4j2PluginsCacheFileTransformer to function properly
63+
+
6364
// PandaSpigot start - Configuration
6465
arrayOf(
6566
"com.amihaiemil.eoyaml",
66-
@@ -70,7 +77,6 @@ tasks {
67-
val cbLibsPkg = "org.bukkit.craftbukkit.libs"
67+
@@ -72,7 +80,6 @@ tasks {
6868

69-
relocate("joptsimple", "$cbLibsPkg.joptsimple")
70-
- relocate("jline", "$cbLibsPkg.jline")
71-
relocate("org.ibex", "$cbLibsPkg.org.ibex")
72-
relocate("org.gjt", "$cbLibsPkg.org.gjt")
69+
arrayOf(
70+
"joptsimple",
71+
- "jline",
72+
"org.ibex",
73+
"org.gjt",
74+
).forEach { relocate(it, "org.bukkit.craftbukkit.libs.$it") }
75+
@@ -81,6 +88,7 @@ tasks {
76+
77+
mergeServiceFiles()
78+
append("META-INF/io.netty.versions.properties")
79+
+ transform<com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer>() // PandaSpigot - Use TerminalConsoleAppender
80+
}
7381

82+
named("build") {
7483
diff --git a/src/main/java/com/hpfxd/pandaspigot/console/PandaConsole.java b/src/main/java/com/hpfxd/pandaspigot/console/PandaConsole.java
7584
new file mode 100644
7685
index 0000000000000000000000000000000000000000..25a515b681bbbb70946f2ec73647a6f184f81b3c

patches/server/0112-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ results in a separate line, even though it should not result in
1212
a line break. Log4j's implementation handles it correctly.
1313

1414
diff --git a/build.gradle.kts b/build.gradle.kts
15-
index 698b0a08f85056d36c131515a0825aeca52755c3..83dcd2285e088f8620831e20893c44a122779daf 100644
15+
index e3f1b191e44585b28a556f11d0a1024412ada964..db5e7e22b4856412e9db0787ba6edd88192006c1 100644
1616
--- a/build.gradle.kts
1717
+++ b/build.gradle.kts
1818
@@ -25,6 +25,7 @@ dependencies {

patches/server/0113-Adventure-API.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Adventure API
55

66

77
diff --git a/build.gradle.kts b/build.gradle.kts
8-
index 83dcd2285e088f8620831e20893c44a122779daf..8c8aa2274fd97c9d3a2f24700f58e045e984f75d 100644
8+
index db5e7e22b4856412e9db0787ba6edd88192006c1..6d4fa7beafda08917d66655955da42fea16b286f 100644
99
--- a/build.gradle.kts
1010
+++ b/build.gradle.kts
1111
@@ -4,6 +4,7 @@ plugins {

0 commit comments

Comments
 (0)