geforkt von Mirrors/Paper
773dd72446
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: 69c7ce23 PR-990: Use Mockito instead of InvocationHandler for test mocking 997de31d PR-893: Add a stream method to Registry to make it easier to use and to avoid unnecessary wrapping 6a8ce581 Fix malformed javadoc in previous commit 26c74f6d PR-890: Add more Sculk API (bloom, shriek, bloom event) aa067abf PR-895: Load GameEvent and MusicInstrument from registry CraftBukkit Changes: 78796c9de Add support for Java 21 ddc9a2dad SPIGOT-7475: Don't fire SculkBloomEvent during world generation caee2311a PR-1245: Add a stream method to Registry to make it easier to use and to avoid unnecessary wrapping de421cf56 PR-1242: Add more Sculk API (bloom, shriek, bloom event) 00f5a80fb PR-1252: Fix error when generating a tree in water 10219df3a PR-1248: Load GameEvent and MusicInstrument from registry
177 Zeilen
8.8 KiB
Diff
177 Zeilen
8.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
|
|
|
|
== 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>
|
|
|
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
|
index 3ec94658ddd0c2f7b3716742c247656d9c7c8866..b1c84b847f8845407eafc89d8b027b34cc6a95b8 100644
|
|
--- a/build.gradle.kts
|
|
+++ b/build.gradle.kts
|
|
@@ -9,10 +9,9 @@ plugins {
|
|
dependencies {
|
|
implementation(project(":paper-api"))
|
|
implementation("jline:jline:2.12.1")
|
|
- implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") {
|
|
- exclude(group = "org.apache.logging.log4j", module = "log4j-api")
|
|
- }
|
|
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
|
|
implementation("org.ow2.asm:asm:9.5")
|
|
+ implementation("org.ow2.asm:asm-commons:9.5") // Paper - ASM event executor generation
|
|
implementation("commons-lang:commons-lang:2.6")
|
|
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.0")
|
|
runtimeOnly("com.mysql:mysql-connector-j:8.0.33")
|
|
@@ -23,6 +22,8 @@ dependencies {
|
|
|
|
testImplementation("junit:junit:4.13.2")
|
|
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
|
+
|
|
+ implementation("io.netty:netty-all:4.1.87.Final"); // Paper - Bump netty
|
|
}
|
|
|
|
val craftbukkitPackageVersion = "1_20_R1" // Paper
|
|
@@ -34,6 +35,7 @@ tasks.jar {
|
|
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",
|
|
@@ -42,6 +44,9 @@ tasks.jar {
|
|
"Specification-Title" to "Bukkit",
|
|
"Specification-Version" to project.version,
|
|
"Specification-Vendor" to "Bukkit Team",
|
|
+ "Git-Branch" to gitBranch, // Paper
|
|
+ "Git-Commit" to gitHash, // Paper
|
|
+ "CraftBukkit-Package-Version" to craftbukkitPackageVersion, // Paper
|
|
)
|
|
for (tld in setOf("net", "com", "org")) {
|
|
attributes("$tld/bukkit", "Sealed" to true)
|
|
@@ -49,6 +54,11 @@ tasks.jar {
|
|
}
|
|
}
|
|
|
|
+tasks.compileJava {
|
|
+ // incremental compilation is currently broken due to patched files having compiled counterparts already on the compile classpath
|
|
+ options.setIncremental(false)
|
|
+}
|
|
+
|
|
publishing {
|
|
publications.create<MavenPublication>("maven") {
|
|
artifact(tasks.shadowJar)
|
|
@@ -75,6 +85,17 @@ tasks.shadowJar {
|
|
}
|
|
}
|
|
|
|
+// 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")
|
|
}
|
|
@@ -132,7 +153,14 @@ tasks.registerRunTask("runReobf") {
|
|
classpath(runtimeClasspathWithoutVanillaServer)
|
|
}
|
|
|
|
+val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
|
|
+ src.runtimeClasspath.elements.map { elements ->
|
|
+ elements.filterNot { file -> file.asFile.endsWith("minecraft.jar") }
|
|
+ }
|
|
+}
|
|
tasks.registerRunTask("runDev") {
|
|
description = "Spin up a non-relocated Mojang-mapped test server"
|
|
- classpath(sourceSets.main.map { it.runtimeClasspath })
|
|
+ classpath(tasks.filterProjectDir.flatMap { it.outputJar })
|
|
+ classpath(runtimeClasspathForRunDev)
|
|
+ jvmArgs("-DPaper.isRunDev=true")
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/resources/ResourceLocation.java b/src/main/java/net/minecraft/resources/ResourceLocation.java
|
|
index 6eb213981aeb7e75e1ed75f1483bc98187726f6f..de37a6e2edf36107a04b3707b9c5bbd608fcab20 100644
|
|
--- a/src/main/java/net/minecraft/resources/ResourceLocation.java
|
|
+++ b/src/main/java/net/minecraft/resources/ResourceLocation.java
|
|
@@ -26,6 +26,7 @@ public class ResourceLocation implements Comparable<ResourceLocation> {
|
|
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;
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
|
|
index e7240acad17dc9c0d93f2792cc0d90c1855ac436..ba96530f00faa1d113a14242eb8192349c7c944f 100644
|
|
--- a/src/main/java/net/minecraft/server/Main.java
|
|
+++ b/src/main/java/net/minecraft/server/Main.java
|
|
@@ -110,6 +110,17 @@ public class Main {
|
|
*/ // CraftBukkit end
|
|
|
|
try {
|
|
+ // Paper start
|
|
+ if (Boolean.getBoolean("Paper.isRunDev")) {
|
|
+ net.minecraft.server.packs.VanillaPackResourcesBuilder.developmentConfig = builder -> {
|
|
+ try {
|
|
+ builder.pushAssetPath(net.minecraft.server.packs.PackType.SERVER_DATA, net.minecraft.server.packs.VanillaPackResourcesBuilder.safeGetPath(java.util.Objects.requireNonNull(Main.class.getResource("/data/.paperassetsroot"), "Missing required .paperassetsroot file").toURI()).getParent());
|
|
+ } catch (java.net.URISyntaxException | IOException ex) {
|
|
+ throw new RuntimeException(ex);
|
|
+ }
|
|
+ };
|
|
+ }
|
|
+ // Paper end
|
|
|
|
Path path = (Path) optionset.valueOf("pidFile"); // CraftBukkit
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java b/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
|
index 03bf7dfc289c6a02f19678d3c7041c027154b99d..43ce85977472fd831fa272ff1d81df4586352d72 100644
|
|
--- a/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
|
+++ b/src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
|
|
@@ -28,7 +28,7 @@ public class ServerPacksSource extends BuiltInPackSource {
|
|
}
|
|
|
|
private static VanillaPackResources createVanillaPackSource() {
|
|
- return (new VanillaPackResourcesBuilder()).setMetadata(BUILT_IN_METADATA).exposeNamespace("minecraft").applyDevelopmentConfig().pushJarResources().build();
|
|
+ return (new VanillaPackResourcesBuilder()).setMetadata(BUILT_IN_METADATA).exposeNamespace("minecraft", ResourceLocation.PAPER_NAMESPACE).applyDevelopmentConfig().pushJarResources().build(); // Paper
|
|
}
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index e325cb56f2bafce21ce06bb5c674837abbb676e7..8a30ebbac91a0750c00ebbcb5372e6d2a45c064a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -209,7 +209,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, -21);
|
|
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) {
|
|
diff --git a/src/main/resources/data/.paperassetsroot b/src/main/resources/data/.paperassetsroot
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|