From 93ae6037bd87a371e57a15abe3fbf62eac56d467 Mon Sep 17 00:00:00 2001 From: Julian Krings Date: Sat, 29 Nov 2025 11:49:15 +0100 Subject: [PATCH] whoops forgot to disable craftbukkit relocations on <=1.20.4 --- buildSrc/src/main/kotlin/NMSBinding.kt | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/buildSrc/src/main/kotlin/NMSBinding.kt b/buildSrc/src/main/kotlin/NMSBinding.kt index 38419db16..311508797 100644 --- a/buildSrc/src/main/kotlin/NMSBinding.kt +++ b/buildSrc/src/main/kotlin/NMSBinding.kt @@ -63,21 +63,25 @@ class NMSBinding : Plugin { } } + val (major, minor) = config.version.parseVersion() + if (major <= 20 && minor <= 4) return@with tasks.register("convert", ConversionTask::class.java, type) - val tasks = gradle.startParameter.taskNames - tasks.addFirst("$path:convert") - gradle.startParameter.setTaskNames(tasks) + tasks.named("compileJava") { it.dependsOn("convert") } + rootProject.tasks.named("prepareKotlinBuildScriptModel") { it.dependsOn("$path:convert") } } @CacheableTask - open class ConversionTask @Inject constructor(type: Type, ) : DefaultTask() { + open class ConversionTask @Inject constructor(type: Type) : DefaultTask() { private val pattern: Regex private val replacement: String init { group = "nms" inputs.property("type", type) - outputs.file("dummy") + val java = project.extensions.findByType(JavaPluginExtension::class.java) ?: throw GradleException("Java plugin not found") + val source = java.sourceSets.findByName("main")?.allJava ?: throw GradleException("No main source set found") + outputs.files(source) + if (type == Type.USER_DEV) { pattern = "org\\.bukkit\\.craftbukkit\\.${project.name}".toRegex() replacement = "org.bukkit.craftbukkit" @@ -89,11 +93,9 @@ class NMSBinding : Plugin { @TaskAction fun process() { - val java = project.extensions.findByType(JavaPluginExtension::class.java) ?: throw GradleException("Java plugin not found") - val source = java.sourceSets.findByName("main")?.allJava ?: throw GradleException("No main source set found") val dispatcher = Dispatchers.IO.limitedParallelism(16) runBlocking { - for (file in source) { + for (file in outputs.files) { if (file.extension !in listOf("java")) continue @@ -153,7 +155,9 @@ class NMSBinding : Plugin { } private val NEW_LINE = System.lineSeparator() - +private fun String.parseVersion() = substringBefore('-').split(".").let { + it[1].toInt() to it[2].toInt() +} class Config( var jvm: Int = 21,