aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0003-Build-system-changes.patch
blob: 3c805c2a99f21c508eb2275124dc7f2daf141848 (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
98
99
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 b64b0200a6b19f93ba0592ecc6f29b4534df4812..c462f9fc70ef2286da21d7c5b96ac68ff602a310 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -17,21 +17,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.2")
+    implementation("org.ow2.asm:asm-commons:9.2") // 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("io.netty:netty-all:4.1.65.Final") // Paper
+
     testImplementation("junit:junit:4.13.1")
     testImplementation("org.hamcrest:hamcrest-library:1.3")
 }
@@ -52,6 +54,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)
@@ -82,7 +85,7 @@ relocation {
     sequenceOf(
         "commons-codec:commons-codec" to "org.apache.commons.codec",
         "commons-io:commons-io" to "org.apache.commons.io",
-        "it.unimi.dsi:fastutil" to "it.unimi",
+        //"it.unimi.dsi:fastutil" to "it.unimi", // Paper - don't relocate fastutil
         "org.apache.commons:commons-lang3" to "org.apache.commons.lang3",
         "org.ow2.asm:asm" to "org.objectweb.asm"
     ).forEach { (owner, pack) ->
@@ -102,9 +105,17 @@ relocation {
     }
 }
 
+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" }
+    }
+
     for (relocation in relocation.relocations.get()) {
         relocate(relocation.fromPackage, relocation.toPackage) {
             for (exclude in relocation.excludes) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec1ea998ff 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) {