summaryrefslogtreecommitdiffhomepage
path: root/patches/server/0003-Build-system-changes.patch
blob: 97581518a41a0c2068e30f8ad52e3d6d91ca85dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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 596b4f52bc57eca8cc7a0138a1e36d71c1d73ca6..74bde15e021f306a2f1247678f92becbdce313b8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -20,21 +20,23 @@ 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("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 +55,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 +73,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 b06a4c8f5e1dfcbda171910279d6861dc3d4d2e7..358475974cf7dfced302bdd7d2390bd95848c737 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'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper
 
                     Calendar deadline = Calendar.getInstance();
                     deadline.add(Calendar.DAY_OF_YEAR, -7);
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) {