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-23 19:02:08 +02:00
|
|
|
index 8116ef8a1d098f0fe4fab661f913132ce3ec4ae9..2905c7273ed4d62a7f1bc7eab9ae919ee6c012de 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")
|
2024-04-23 19:02:08 +02:00
|
|
|
- implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") {
|
2021-06-11 14:31:17 +02:00
|
|
|
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
|
|
|
|
- }
|
2024-04-23 19:02:08 +02:00
|
|
|
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // 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")
|
2024-04-23 19:02:08 +02:00
|
|
|
runtimeOnly("org.xerial:sqlite-jdbc:3.45.3.0")
|
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-23 19:02:08 +02:00
|
|
|
index 0e93817621bad5d69cf0f9f839d033c47c861457..0ad6d9d417193248f6a9df67f1d1a66cef3ff122 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-23 19:02:08 +02:00
|
|
|
@@ -32,6 +32,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-23 19:02:08 +02:00
|
|
|
index 14fc03563daea531314c7ceba56dbb47884010ee..fcf95958ef659c7aa8e28026961fa1d6a5f8b28c 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-23 19:02:08 +02:00
|
|
|
index a5e8713bc0fefae455b666ebf13c9529e7ba94e6..407254c779c8291543873fe4e94c5f94981a81eb 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-23 19:02:08 +02:00
|
|
|
@@ -48,7 +48,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()
|
2024-04-23 19:02:08 +02:00
|
|
|
.build(VANILLA_PACK_INFO);
|
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-23 19:02:08 +02:00
|
|
|
index 5595eb892fa868508c45448942da65d7c11d49fd..4b8602b168f9dd386aa72b4e5d189c441c93542e 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
|
2024-04-23 19:02:08 +02:00
|
|
|
@@ -210,7 +210,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-04-23 19:02:08 +02:00
|
|
|
deadline.add(Calendar.DAY_OF_YEAR, -3);
|
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
|
2024-04-23 19:02:08 +02:00
|
|
|
index 1bdf0b2b8f8e6dace403695fece80ebb3dc9e039..544307fe34cbcfa286a7d7b30900ebea127d189e 100644
|
2024-04-05 02:12:05 +02:00
|
|
|
--- 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
|