2021-06-11 14:31:17 +02:00
|
|
|
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
|
2021-06-11 14:33:08 +02:00
|
|
|
Subject: [PATCH] Build system changes
|
2021-06-11 14:31:17 +02:00
|
|
|
|
2023-09-15 20:03:42 +02:00
|
|
|
== AT ==
|
|
|
|
public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/net/URI;)Ljava/nio/file/Path;
|
|
|
|
|
|
|
|
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
2021-06-11 14:31:17 +02:00
|
|
|
|
|
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
2024-04-12 21:14:06 +02:00
|
|
|
index 4e0b810bd0a9991d10e13920f47f0b6d0a56f6aa..50d9182a4845564cd62b026700a7d0517c25e74d 100644
|
2021-06-11 14:31:17 +02:00
|
|
|
--- a/build.gradle.kts
|
|
|
|
+++ b/build.gradle.kts
|
2024-01-14 10:46:04 +01:00
|
|
|
@@ -9,9 +9,7 @@ plugins {
|
2021-06-11 14:31:17 +02:00
|
|
|
dependencies {
|
2021-11-26 07:08:46 +01:00
|
|
|
implementation(project(":paper-api"))
|
2021-06-11 14:31:17 +02:00
|
|
|
implementation("jline:jline:2.12.1")
|
2022-12-07 18:08:55 +01:00
|
|
|
- implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") {
|
2021-06-11 14:31:17 +02:00
|
|
|
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
|
|
|
|
- }
|
2022-12-07 18:08:55 +01:00
|
|
|
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
|
2024-04-06 21:53:39 +02:00
|
|
|
implementation("org.ow2.asm:asm-commons:9.7")
|
2022-06-07 20:12:34 +02:00
|
|
|
implementation("commons-lang:commons-lang:2.6")
|
2023-10-03 13:55:12 +02:00
|
|
|
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
|
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277)
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:
9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent
258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor
ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD
CraftBukkit Changes:
98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire
a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent
5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class
76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor
Spigot Changes:
e9ec5485 Rebuild patches
f1b62e0c Rebuild patches
2024-02-23 14:37:33 +01:00
|
|
|
@@ -36,6 +34,7 @@ tasks.jar {
|
2021-11-25 00:26:29 +01:00
|
|
|
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
|
|
|
val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
|
|
|
|
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
|
|
|
+ val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
|
|
|
|
attributes(
|
|
|
|
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
|
|
|
"Implementation-Title" to "CraftBukkit",
|
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277)
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:
9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent
258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor
ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD
CraftBukkit Changes:
98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire
a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent
5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class
76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor
Spigot Changes:
e9ec5485 Rebuild patches
f1b62e0c Rebuild patches
2024-02-23 14:37:33 +01:00
|
|
|
@@ -44,6 +43,9 @@ tasks.jar {
|
2021-11-25 00:26:29 +01:00
|
|
|
"Specification-Title" to "Bukkit",
|
|
|
|
"Specification-Version" to project.version,
|
|
|
|
"Specification-Vendor" to "Bukkit Team",
|
|
|
|
+ "Git-Branch" to gitBranch, // Paper
|
|
|
|
+ "Git-Commit" to gitHash, // Paper
|
2022-05-31 07:18:45 +02:00
|
|
|
+ "CraftBukkit-Package-Version" to craftbukkitPackageVersion, // Paper
|
2021-11-25 00:26:29 +01:00
|
|
|
)
|
|
|
|
for (tld in setOf("net", "com", "org")) {
|
|
|
|
attributes("$tld/bukkit", "Sealed" to true)
|
2024-04-05 02:12:05 +02:00
|
|
|
@@ -77,6 +79,17 @@ tasks.shadowJar {
|
2022-06-28 00:41:59 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
+// Paper start
|
|
|
|
+val scanJar = tasks.register("scanJarForBadCalls", io.papermc.paperweight.tasks.ScanJarForBadCalls::class) {
|
|
|
|
+ badAnnotations.add("Lio/papermc/paper/annotation/DoNotUse;")
|
|
|
|
+ jarToScan.set(tasks.shadowJar.flatMap { it.archiveFile })
|
|
|
|
+ classpath.from(configurations.compileClasspath)
|
|
|
|
+}
|
|
|
|
+tasks.check {
|
|
|
|
+ dependsOn(scanJar)
|
|
|
|
+}
|
|
|
|
+// Paper end
|
|
|
|
+
|
|
|
|
tasks.test {
|
|
|
|
exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
2023-09-25 01:05:05 +02:00
|
|
|
useJUnitPlatform()
|
2024-04-05 02:12:05 +02:00
|
|
|
@@ -138,4 +151,5 @@ tasks.registerRunTask("runReobf") {
|
2023-09-15 20:03:42 +02:00
|
|
|
tasks.registerRunTask("runDev") {
|
|
|
|
description = "Spin up a non-relocated Mojang-mapped test server"
|
2024-04-05 02:12:05 +02:00
|
|
|
classpath(sourceSets.main.map { it.runtimeClasspath })
|
|
|
|
+ jvmArgs("-DPaper.pushPaperAssetsRoot=true")
|
2023-09-15 20:03:42 +02:00
|
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/resources/ResourceLocation.java b/src/main/java/net/minecraft/resources/ResourceLocation.java
|
2024-04-12 21:14:06 +02:00
|
|
|
index 0064a1112f392379ff095f95738f1368240ca4cf..aed74e471126a8a66046a181973158d7d288d3f0 100644
|
2023-09-15 20:03:42 +02:00
|
|
|
--- a/src/main/java/net/minecraft/resources/ResourceLocation.java
|
|
|
|
+++ b/src/main/java/net/minecraft/resources/ResourceLocation.java
|
2024-04-12 21:14:06 +02:00
|
|
|
@@ -28,6 +28,7 @@ public class ResourceLocation implements Comparable<ResourceLocation> {
|
2023-09-15 20:03:42 +02:00
|
|
|
public static final char NAMESPACE_SEPARATOR = ':';
|
|
|
|
public static final String DEFAULT_NAMESPACE = "minecraft";
|
|
|
|
public static final String REALMS_NAMESPACE = "realms";
|
|
|
|
+ public static final String PAPER_NAMESPACE = "paper"; // Paper
|
|
|
|
private final String namespace;
|
|
|
|
private final String path;
|
|
|
|
|
2024-04-05 02:12:05 +02:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/packs/VanillaPackResourcesBuilder.java b/src/main/java/net/minecraft/server/packs/VanillaPackResourcesBuilder.java
|
2024-04-12 21:14:06 +02:00
|
|
|
index 6a11d33eb44e0fde731b54a9200eb44b20a73c43..29ab3aae87de2bf14b31268239d935e49cb0fa98 100644
|
2024-04-05 02:12:05 +02:00
|
|
|
--- a/src/main/java/net/minecraft/server/packs/VanillaPackResourcesBuilder.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/packs/VanillaPackResourcesBuilder.java
|
2024-04-12 21:14:06 +02:00
|
|
|
@@ -138,6 +138,15 @@ public class VanillaPackResourcesBuilder {
|
2023-09-15 20:03:42 +02:00
|
|
|
|
2024-04-05 02:12:05 +02:00
|
|
|
public VanillaPackResourcesBuilder applyDevelopmentConfig() {
|
|
|
|
developmentConfig.accept(this);
|
|
|
|
+ if (Boolean.getBoolean("Paper.pushPaperAssetsRoot")) {
|
|
|
|
+ try {
|
|
|
|
+ this.pushAssetPath(net.minecraft.server.packs.PackType.SERVER_DATA, net.minecraft.server.packs.VanillaPackResourcesBuilder.safeGetPath(java.util.Objects.requireNonNull(
|
|
|
|
+ // Important that this is a patched class
|
|
|
|
+ VanillaPackResourcesBuilder.class.getResource("/data/.paperassetsroot"), "Missing required .paperassetsroot file").toURI()).getParent());
|
|
|
|
+ } catch (java.net.URISyntaxException | IOException ex) {
|
|
|
|
+ throw new RuntimeException(ex);
|
2023-09-15 20:03:42 +02:00
|
|
|
+ }
|
2024-04-05 02:12:05 +02:00
|
|
|
+ }
|
|
|
|
return this;
|
|
|
|
}
|
2023-09-15 20:03:42 +02:00
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java b/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
2024-04-12 21:14:06 +02:00
|
|
|
index dd5e32e7a64eaddab66905dba2595f2220706adb..439b9bc95ae8580fcde89f86565df39ba4040d59 100644
|
2023-09-15 20:03:42 +02:00
|
|
|
--- a/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
2024-04-12 21:14:06 +02:00
|
|
|
@@ -38,7 +38,7 @@ public class ServerPacksSource extends BuiltInPackSource {
|
2023-09-21 19:39:51 +02:00
|
|
|
public static VanillaPackResources createVanillaPackSource() {
|
2024-04-12 21:14:06 +02:00
|
|
|
return new VanillaPackResourcesBuilder()
|
|
|
|
.setMetadata(BUILT_IN_METADATA)
|
|
|
|
- .exposeNamespace("minecraft")
|
|
|
|
+ .exposeNamespace("minecraft", ResourceLocation.PAPER_NAMESPACE) // Paper
|
|
|
|
.applyDevelopmentConfig()
|
|
|
|
.pushJarResources()
|
|
|
|
.build();
|
2021-06-11 14:31:17 +02:00
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
2024-04-06 21:53:39 +02:00
|
|
|
index 2930f37c663a1824a2d38df8e4b679aa6adbd870..67d347741db1c5a9a6568ee084388a59e35b16ea 100644
|
2021-06-11 14:31:17 +02:00
|
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
2023-06-06 11:09:19 +02:00
|
|
|
@@ -209,7 +209,7 @@ public class Main {
|
2021-06-11 14:31:17 +02:00
|
|
|
}
|
|
|
|
|
2022-07-29 09:11:11 +02:00
|
|
|
if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
2021-06-11 14:31:17 +02:00
|
|
|
- Date buildDate = new Date(Integer.parseInt(Main.class.getPackage().getImplementationVendor()) * 1000L);
|
2021-07-12 08:24:48 +02:00
|
|
|
+ Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper
|
2021-06-11 14:31:17 +02:00
|
|
|
|
|
|
|
Calendar deadline = Calendar.getInstance();
|
2024-03-09 00:52:00 +01:00
|
|
|
deadline.add(Calendar.DAY_OF_YEAR, -28);
|
2021-06-11 14:31:17 +02:00
|
|
|
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) {
|
2023-09-15 20:03:42 +02:00
|
|
|
diff --git a/src/main/resources/data/.paperassetsroot b/src/main/resources/data/.paperassetsroot
|
|
|
|
new file mode 100644
|
|
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
2024-04-05 02:12:05 +02:00
|
|
|
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java
|
|
|
|
index a1c2c702cc6b5d949df62b5ecf4cc62b8e4e8f77..0619361adf57fdc41c4ecb09d1d6a5c862a85f89 100644
|
|
|
|
--- a/src/test/java/org/bukkit/support/AbstractTestingBase.java
|
|
|
|
+++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java
|
|
|
|
@@ -43,6 +43,7 @@ public abstract class AbstractTestingBase {
|
|
|
|
public static final Registry<Biome> BIOMES;
|
|
|
|
|
|
|
|
static {
|
|
|
|
+ System.setProperty("Paper.pushPaperAssetsRoot", "true"); // Paper
|
|
|
|
SharedConstants.tryDetectVersion();
|
|
|
|
Bootstrap.bootStrap();
|
|
|
|
// Populate available packs
|