papermc/patches/server/0003-Build-system-changes.patch
Shane Freeder f521a18a17
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
75a0ee4f SPIGOT-6691: Material.LAVA_CAULDRON is not Levelled

CraftBukkit Changes:
e1c96e50 SPIGOT-6682: Blocking with shield not reset after die
97f629b6 SPIGOT-6220: Structures in the world with custom generator not work
85379258 Increase outdated build delay
f7f8dce4 SPIGOT-6552: Some inventory types reset cursor on switch
2021-08-04 16:26:56 +01:00

98 lines
4.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Mon, 29 Feb 2016 20:40:33 -0600
Subject: [PATCH] Build system changes
diff --git a/build.gradle.kts b/build.gradle.kts
index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3897f06fb 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,21 +18,24 @@ repositories {
dependencies {
implementation(project(":Paper-API"))
implementation("jline:jline:2.12.1")
- implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") {
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
- }
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
+ implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper
implementation("org.ow2.asm:asm:9.1")
+ implementation("org.ow2.asm:asm-commons:9.1") // Paper - ASM event executor generation
implementation("com.googlecode.json-simple:json-simple:1.1.1") {
// This includes junit transitively for whatever reason
isTransitive = false
}
runtimeOnly("org.xerial:sqlite-jdbc:3.34.0")
- runtimeOnly("mysql:mysql-connector-java:5.1.49")
+ runtimeOnly("mysql:mysql-connector-java:8.0.23") // Paper
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.1")
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.0")
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
+ implementation("co.aikar:cleaner:1.0-SNAPSHOT") // Paper
+ implementation("io.netty:netty-all:4.1.65.Final") // Paper
+
testImplementation("junit:junit:4.13.1")
testImplementation("org.hamcrest:hamcrest-library:1.3")
}
@@ -53,6 +56,7 @@ tasks.jar {
"Specification-Title" to "Bukkit",
"Specification-Version" to project.version,
"Specification-Vendor" to "Bukkit Team",
+ "Multi-Release" to "true", // Paper
)
for (tld in setOf("net", "com", "org")) {
attributes("$tld/bukkit", "Sealed" to true)
@@ -70,15 +74,23 @@ publishing {
}
}
+val generatePom = tasks.named<GenerateMavenPom>("generatePomFileForMavenPublication")
+
tasks.shadowJar {
archiveClassifier.set("mojang-mapped")
+ // Needed for Paperclip's install to maven local feature
+ from(generatePom) {
+ into("META-INF/maven/io.papermc.paper/paper")
+ rename { "pom.xml" }
+ }
+
val packageVersion = "1_17_R1"
relocate("org.bukkit.craftbukkit", "org.bukkit.craftbukkit.v$packageVersion") {
exclude("org.bukkit.craftbukkit.Main*")
}
listOf(
- "jline", "it.unimi", "org.apache.commons.codec", "org.apache.commons.io",
+ "jline", "org.apache.commons.codec", "org.apache.commons.io", // Paper - don't relocate fastutil
"org.apache.commons.lang3", "org.apache.http", "org.apache.maven", "org.codehaus.plexus",
"org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm"
).forEach { pack ->
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 705486f8b02957c131d464bfd862247c555d2d51..2e22decfc52951ae32987c5147438e793227bd13 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -190,7 +190,7 @@ public class Main {
}
if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
- Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L);
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
Calendar deadline = Calendar.getInstance();
deadline.add(Calendar.DAY_OF_YEAR, -28);
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
public static String getBukkitVersion() {
String result = "Unknown-Version";
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.spigotmc/spigot-api/pom.properties");
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
Properties properties = new Properties();
if (stream != null) {