diff --git a/build-logic/src/main/kotlin/buildlogic.adapter-mojmap.gradle.kts b/build-logic/src/main/kotlin/buildlogic.adapter-mojmap.gradle.kts index 6cd6c686d7..d4fb01c471 100644 --- a/build-logic/src/main/kotlin/buildlogic.adapter-mojmap.gradle.kts +++ b/build-logic/src/main/kotlin/buildlogic.adapter-mojmap.gradle.kts @@ -1,4 +1,3 @@ -import buildlogic.ArtifactPriority import io.papermc.paperweight.userdev.ReobfArtifactConfiguration import org.gradle.kotlin.dsl.named @@ -9,12 +8,3 @@ plugins { paperweight { reobfArtifactConfiguration = ReobfArtifactConfiguration.MOJANG_PRODUCTION } - -configurations.named("runtimeElements") { - attributes { - attribute( - ArtifactPriority.ATTRIBUTE, - objects.named(ArtifactPriority.PRIMARY), - ) - } -} diff --git a/build-logic/src/main/kotlin/buildlogic.adapter-reobf.gradle.kts b/build-logic/src/main/kotlin/buildlogic.adapter-reobf.gradle.kts index 8af614e91d..8a35b7ca79 100644 --- a/build-logic/src/main/kotlin/buildlogic.adapter-reobf.gradle.kts +++ b/build-logic/src/main/kotlin/buildlogic.adapter-reobf.gradle.kts @@ -1,6 +1,4 @@ -import buildlogic.ArtifactPriority import io.papermc.paperweight.userdev.ReobfArtifactConfiguration -import io.papermc.paperweight.util.constants.REOBF_CONFIG plugins { id("buildlogic.adapter") @@ -13,12 +11,3 @@ paperweight { tasks.named("assemble") { dependsOn("reobfJar") } - -configurations.named(REOBF_CONFIG) { - attributes { - attribute( - ArtifactPriority.ATTRIBUTE, - objects.named(ArtifactPriority.PRIMARY), - ) - } -} diff --git a/build-logic/src/main/kotlin/buildlogic/ArtifactPriority.kt b/build-logic/src/main/kotlin/buildlogic/ArtifactPriority.kt deleted file mode 100644 index 47da2206c3..0000000000 --- a/build-logic/src/main/kotlin/buildlogic/ArtifactPriority.kt +++ /dev/null @@ -1,15 +0,0 @@ -package buildlogic - -import org.gradle.api.Named -import org.gradle.api.attributes.Attribute - -interface ArtifactPriority : Named { - companion object { - val ATTRIBUTE = Attribute.of( - "org.enginehub.internal.artifact-priority", - ArtifactPriority::class.java - ) - - const val PRIMARY = "primary" - } -} diff --git a/worldedit-bukkit/build.gradle.kts b/worldedit-bukkit/build.gradle.kts index 738a0e1f5c..d415eb2acc 100644 --- a/worldedit-bukkit/build.gradle.kts +++ b/worldedit-bukkit/build.gradle.kts @@ -1,4 +1,3 @@ -import buildlogic.ArtifactPriority import buildlogic.internalVersion import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar import io.papermc.paperweight.userdev.attribute.Obfuscation @@ -26,18 +25,25 @@ configurations.named("testImplementation") { val adaptersScope = configurations.dependencyScope("adaptersScope") { description = "Adapters to include in the JAR" } +val adaptersReobfScope = configurations.dependencyScope("adaptersReobfScope") { + description = "Reobfuscated adapters to include in the JAR" +} + val adapters = configurations.resolvable("adapters") { extendsFrom(adaptersScope.get()) description = "Adapters to include in the JAR (resolvable)" shouldResolveConsistentlyWith(configurations["runtimeClasspath"]) attributes { - if ((project.findProperty("enginehub.obf.none") as String?).toBoolean()) { - // If we're configured to not output obfuscated, request none - attribute(Obfuscation.OBFUSCATION_ATTRIBUTE, objects.named(Obfuscation.NONE)) - } else { - // Otherwise, use the primary artifact, which may or may not be obfuscated - attribute(ArtifactPriority.ATTRIBUTE, objects.named(ArtifactPriority.PRIMARY)) - } + attribute(Obfuscation.OBFUSCATION_ATTRIBUTE, objects.named(Obfuscation.NONE)) + } +} + +val adaptersReobf = configurations.resolvable("adaptersReobf") { + extendsFrom(adaptersReobfScope.get()) + description = "Reobfuscated adapters to include in the JAR (resolvable)" + shouldResolveConsistentlyWith(configurations["runtimeClasspath"]) + attributes { + attribute(Obfuscation.OBFUSCATION_ATTRIBUTE, objects.named(Obfuscation.OBFUSCATED)) } } @@ -67,6 +73,9 @@ dependencies { project.project(":worldedit-bukkit:adapters").subprojects.forEach { "adaptersScope"(project(it.path)) } + listOf("1.21.3", "1.21.4", "1.21.5", "1.21.6", "1.21.9", "1.21.11").forEach { + "adaptersReobfScope"(project(":worldedit-bukkit:adapters:adapter-$it")) + } } tasks.named("processResources") { @@ -78,7 +87,15 @@ tasks.named("processResources") { } } +tasks.register("shadeReobfAdapters") { + archiveClassifier.set("reobf-adapters") + configurations.add(adaptersReobf.get()) + + relocate("com.sk89q.worldedit.bukkit.adapter.impl", "com.sk89q.worldedit.bukkit.adapter.impl.reobf") +} + tasks.named("shadowJar") { + from(tasks.named("shadeReobfAdapters")) configurations.add(adapters.get()) dependencies { // In tandem with not bundling log4j, we shouldn't relocate base package here. @@ -108,6 +125,9 @@ tasks.named("shadowJar") { exclude(dependency("${it.group}:${it.name}")) } } + manifest { + attributes["paperweight-mappings-namespace"] = "mojang" + } } tasks.named("assemble").configure {