Files
Purpur/purpur-server/build.gradle.kts.patch
granny c3bd0f73fc Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@04a97aac more renames
PaperMC/Paper@bc310d25 fix wrong absorb
PaperMC/Paper@546acb55 fix debug pathfinding flag
PaperMC/Paper@dfa3e44f Reorganize level storage layout to closer mirror 26.1 vanilla with CB per-level 'world container' behavior.
PaperMC/Paper@b50fa5ca Call BlockDispenseEvent for SpawnEggItem
PaperMC/Paper@15af4554 Cleanup final CombatTracker diff
PaperMC/Paper@439972cd Readd BlockGrowEvent for cactus flower
PaperMC/Paper@57e26551 Correctly replace setBlock in TripWireHookBlock
PaperMC/Paper@c20b0909 Skip villager treasure map trade if disabled
PaperMC/Paper@fd22888e Get MapData from server data storage
PaperMC/Paper@17e063ac cleanup block data
PaperMC/Paper@c7003253 [ci/skip] revert command size limit to vanilla for test server
PaperMC/Paper@3ed80980 Adjust tick loop logic
PaperMC/Paper@af7555e5 Fix block entity ticking list (#13724)
PaperMC/Paper@062aadc6 remove type id from note block instruments
PaperMC/Paper@6a08bca0 finish TagKey -> HolderSet migration
PaperMC/Paper@fe91bd9e fix SO error for breeze target
PaperMC/Paper@a12cd1a5 update crystal proximity checks for new range
PaperMC/Paper@a44c689a Reduce diff in VineBlock.java
PaperMC/Paper@b3fabd13 Correctly move FarmlandBlock#fallOn super call
PaperMC/Paper@4932672f Simplify diff in AbstractPiglin
PaperMC/Paper@71497253 Readd dropped StemBlock BlockGrowEvent hunk
PaperMC/Paper@0110d9fe Simplify diff in DoublePlantBlock
PaperMC/Paper@5b507f54 Readd dropped isInWorldBounds "inline"
PaperMC/Paper@63078f4b Simplify diff in ConduitBlockEntity
PaperMC/Paper@fd98513c fix provides_banner_patterns component type
PaperMC/Paper@6a154f13 fix some client desync
PaperMC/Paper@d6b3a3f3 missed one case
PaperMC/Paper@d957fb49 Call WorldGameRuleChangeEvent for World Options Menu (#13720)
PaperMC/Paper@03853ba2 Skip transient components in dumpitem command (#13689)
2026-03-28 16:39:36 -07:00

174 lines
6.7 KiB
Diff

--- a/paper-server/build.gradle.kts
+++ b/paper-server/build.gradle.kts
@@ -2,6 +_,8 @@
import io.papermc.paperweight.attribute.DevBundleOutput
import io.papermc.paperweight.util.*
import java.time.Instant
+import kotlin.io.path.createParentDirectories
+import kotlin.io.path.writeText
plugins {
`java-library`
@@ -22,9 +_,21 @@
minecraftVersion = providers.gradleProperty("mcVersion")
gitFilePatches = false
- updatingMinecraft {
+ // Purpur start - Rebrand
+ val purpur = forks.register("purpur") {
+ upstream.patchDir("paperServer") {
+ upstreamPath = "paper-server"
+ excludes = setOf("src/minecraft", "patches", "build.gradle.kts")
+ patchesDir = rootDirectory.dir("purpur-server/paper-patches")
+ outputDir = rootDirectory.dir("paper-server")
+ }
+ }
+ activeFork = purpur
+ // Purpur end - Rebrand
+
+ /*updatingMinecraft { // Purpur start - TODO - snapshot - we don't need this
oldPaperCommit = "7e80cef5198561d0db53406127e5b8bc7af51577"
- }
+ }*/ // Purpur end - TODO - snapshot - we don't need this
}
tasks.generateDevelopmentBundle {
@@ -86,7 +_,21 @@
}
}
-val log4jPlugins = sourceSets.create("log4jPlugins")
+// Purpur start - Rebrand
+sourceSets {
+ main {
+ java { srcDir("../paper-server/src/main/java") }
+ resources { srcDir("../paper-server/src/main/resources") }
+ }
+ test {
+ java { srcDir("../paper-server/src/test/java") }
+ resources { srcDir("../paper-server/src/test/resources") }
+ }
+}
+val log4jPlugins = sourceSets.create("log4jPlugins") {
+ java { srcDir("../paper-server/src/log4jPlugins/java") }
+}
+// Purpur end - Rebrand
configurations.named(log4jPlugins.compileClasspathConfigurationName) {
extendsFrom(configurations.compileClasspath.get())
}
@@ -109,7 +_,7 @@
}
dependencies {
- implementation(project(":paper-api"))
+ implementation(project(":purpur-api")) // Purpur
implementation("ca.spottedleaf:concurrentutil:0.0.8")
implementation("org.jline:jline-terminal-ffm:3.27.1") // use ffm on java 22+
implementation("org.jline:jline-terminal-jni:3.27.1") // fall back to jni on java 21
@@ -135,6 +_,10 @@
implementation("org.ow2.asm:asm-commons:9.9.1")
implementation("org.spongepowered:configurate-yaml:4.2.0")
+ implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur
+ implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
+
// Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed
runtimeOnly("commons-lang:commons-lang:2.6")
runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0")
@@ -164,21 +_,21 @@
val git = Git(rootProject.layout.projectDirectory.path)
val mcVersion = rootProject.providers.gradleProperty("mcVersion").get()
val build = System.getenv("BUILD_NUMBER") ?: null
- val buildTime = providers.environmentVariable("BUILD_STARTED_AT").map(Instant::parse).orElse(Instant.EPOCH).get()
+ val buildTime = if (build != null) Instant.now() else Instant.EPOCH // Purpur
val gitHash = git.exec(providers, "rev-parse", "--short=7", "HEAD").get().trim()
val implementationVersion = "$mcVersion-${build ?: "DEV"}-$gitHash"
val date = git.exec(providers, "show", "-s", "--format=%ci", gitHash).get().trim()
val gitBranch = git.exec(providers, "rev-parse", "--abbrev-ref", "HEAD").get().trim()
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
- "Implementation-Title" to "Paper",
+ "Implementation-Title" to "Purpur", // Purpur
"Implementation-Version" to implementationVersion,
"Implementation-Vendor" to date,
- "Specification-Title" to "Paper",
+ "Specification-Title" to "Purpur", // Purpur
"Specification-Version" to project.version,
- "Specification-Vendor" to "Paper Team",
- "Brand-Id" to "papermc:paper",
- "Brand-Name" to "Paper",
+ "Specification-Vendor" to "Purpur Team", // Purpur
+ "Brand-Id" to "purpurmc:purpur", // Purpur
+ "Brand-Name" to "Purpur", // Purpur
"Build-Number" to (build ?: ""),
"Build-Time" to buildTime.toString(),
"Git-Branch" to gitBranch,
@@ -237,7 +_,7 @@
jvmArgumentProviders.add(provider)
}
-val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("src/generated/java").asFile.toPath()
+val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("../paper-server/src/generated/java").asFile.toPath() // Purpur
idea {
module {
generatedSourceDirs.add(generatedDir.toFile())
@@ -315,7 +_,7 @@
mainClass.set(null as String?)
}
-fill {
+/* fill { // Purpur - we don't use fill
project("paper")
versionFamily(paperweight.minecraftVersion.map { it.split(".", "-").takeWhile { part -> part.toIntOrNull() != null }.take(2).joinToString(".") })
version(paperweight.minecraftVersion)
@@ -330,4 +_,47 @@
}
}
}
-}
+} */ // Purpur - we don't use fill
+
+// tasks.register("rebuildMinecraftSourcesWithGit") {
+// group = "temp"
+//
+// val patchDir = project.rootDir.resolve("purpur-server/minecraft-patches/sources").convertToPath().cleanDir()
+// val inputDir = this.project.rootDir.resolve("purpur-server/src/minecraft/java").convertToPath()
+//
+// //val patchDir = project.rootDir.resolve("purpur-server/paper-patches/files").convertToPath().cleanDir()
+// //val inputDir = this.project.rootDir.resolve("paper-server").convertToPath()
+//
+// val git = Git(inputDir)
+// git("stash", "push").executeSilently(silenceErr = true)
+// git("checkout", "file").executeSilently(silenceErr = true)
+//
+// rebuildWithGit(git, patchDir)
+// }
+//
+// private fun rebuildWithGit(
+// git: Git,
+// patchDir: java.nio.file.Path
+// ): Int {
+// val files = git("diff-tree", "--name-only", "--no-commit-id", "-r", "HEAD").getText().split("\n")
+// files.parallelStream().forEach { filename ->
+// if (filename.isBlank()) return@forEach
+// val patch = git(
+// "format-patch",
+// "--diff-algorithm=myers",
+// "--full-index",
+// "--no-signature",
+// "--no-stat",
+// "--no-numbered",
+// "-1",
+// "HEAD",
+// "--stdout",
+// filename
+// ).getText()
+// val patchFile = patchDir.resolve("$filename.patch")
+// patchFile.createParentDirectories()
+// patchFile.writeText(patch)
+// }
+//
+// return files.size
+// }