Files
Purpur/purpur-server/build.gradle.kts.patch
2025-06-08 11:29:01 -07:00

151 lines
5.6 KiB
Diff

--- a/paper-server/build.gradle.kts
+++ b/paper-server/build.gradle.kts
@@ -4,6 +_,7 @@
import paper.libs.com.google.gson.annotations.SerializedName
import java.time.Instant
import kotlin.io.path.readText
+import kotlin.io.path.writeText
plugins {
`java-library`
@@ -24,9 +_,21 @@
minecraftVersion = providers.gradleProperty("mcVersion")
gitFilePatches = false
- updatingMinecraft {
- oldPaperCommit = "a033e3b9ef78cfe85be807ac3fd1dd956274d4db"
+ //updatingMinecraft {
+ // oldPaperCommit = "a033e3b9ef78cfe85be807ac3fd1dd956274d4db"
+ //}
+
+ // 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
spigot {
enabled = false
@@ -109,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())
}
@@ -131,7 +_,7 @@
}
dependencies {
- implementation(project(":paper-api"))
+ implementation(project(":purpur-api")) // Purpur
implementation("ca.spottedleaf:concurrentutil:0.0.3")
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
@@ -159,6 +_,10 @@
implementation("org.spongepowered:configurate-yaml:4.2.0-20250225.064233-199")
implementation("org.spongepowered:configurate-core:4.2.0-20250225.064233-204") // Pinned dependency of above pinned yaml snapshot.
+ 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")
@@ -207,14 +_,14 @@
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,
@@ -273,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())
@@ -376,3 +_,43 @@
classpath(tasks.createReobfPaperclipJar.flatMap { it.outputZip })
mainClass.set(null as String?)
}
+
+// 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 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
+// }