From b7e09470e65653fb047cf120533ea1bbfde2541d Mon Sep 17 00:00:00 2001 From: SamB440 Date: Mon, 14 Jul 2025 20:32:45 +0100 Subject: [PATCH] Fix shadow setup --- ...ldlogic.java-common-conventions.gradle.kts | 28 ++--------------- ...dlogic.java-publish-conventions.gradle.kts | 8 +++-- ...ldlogic.java-shadow-conventions.gradle.kts | 30 +++++++++++++++++++ rpgregions/build.gradle.kts | 1 + 4 files changed, 40 insertions(+), 27 deletions(-) create mode 100644 build-logic/src/main/kotlin/buildlogic.java-shadow-conventions.gradle.kts diff --git a/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts b/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts index 6739de6..e5d79ed 100644 --- a/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/buildlogic.java-common-conventions.gradle.kts @@ -1,7 +1,6 @@ plugins { // Apply the java Plugin to add support for Java. java - id("com.gradleup.shadow") id("com.diffplug.spotless") // id("net.kyori.indra.licenser.spotless") } @@ -68,9 +67,9 @@ version = project.version dependencies { constraints { // Define dependency versions as constraints - compileOnly("net.kyori:adventure-api:4.17.0") - implementation("net.kyori:adventure-api:4.17.0") - testImplementation("net.kyori:adventure-api:4.17.0") + compileOnly("net.kyori:adventure-api:4.23.0") + implementation("net.kyori:adventure-api:4.23.0") + testImplementation("net.kyori:adventure-api:4.23.0") } implementation("com.convallyria.languagy:api:3.0.3-SNAPSHOT") @@ -109,25 +108,4 @@ tasks { options.encoding = Charsets.UTF_8.name() options.release.set(16) } - - build { - dependsOn(shadowJar) - } - - shadowJar { - archiveBaseName.set("rpgregions-2-${project.name}") - archiveClassifier.set("") -// relocate("net.kyori", "rpgregions-libs.adventure") - relocate("com.google.gson", "rpgregions-libs.gson") - relocate("org.incendo.cloud", "rpgregions-libs.commandframework") - relocate("io.leangen.geantyref", "rpgregions-libs.typetoken") - relocate("com.convallyria.languagy", "rpgregions-libs.languagy") - relocate("io.papermc.lib", "rpgregions-libs.paperlib") - relocate("redempt.crunch", "rpgregions-libs.crunch") - relocate("co.aikar.idb", "rpgregions-libs.idb") - relocate("com.github.stefvanschie.inventoryframework", "rpgregions-libs.inventoryframework") - relocate("org.bstats", "rpgregions-libs.bstats") - relocate("me.lucko.helper", "rpgregions-libs.helper") - relocate("net.wesjd", "rpgregions-libs.anvilgui") - } } \ No newline at end of file diff --git a/build-logic/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts b/build-logic/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts index eb4a2e2..38964a2 100644 --- a/build-logic/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts +++ b/build-logic/src/main/kotlin/buildlogic.java-publish-conventions.gradle.kts @@ -24,8 +24,12 @@ publishing { from(components["java"]) // skip shadow jar from publishing. Workaround for https://github.com/johnrengelman/shadow/issues/651 - val javaComponent = components["java"] as AdhocComponentWithVariants - javaComponent.withVariantsFromConfiguration(configurations["shadowRuntimeElements"]) { skip() } + val shadowRuntimeElements = configurations.findByName("shadowRuntimeElements") + if (shadowRuntimeElements != null) { + println("Published project ${project.name} will ignore shadowRuntimeElements") + val javaComponent = components["java"] as AdhocComponentWithVariants + javaComponent.withVariantsFromConfiguration(shadowRuntimeElements) { skip() } + } } } diff --git a/build-logic/src/main/kotlin/buildlogic.java-shadow-conventions.gradle.kts b/build-logic/src/main/kotlin/buildlogic.java-shadow-conventions.gradle.kts new file mode 100644 index 0000000..16c5536 --- /dev/null +++ b/build-logic/src/main/kotlin/buildlogic.java-shadow-conventions.gradle.kts @@ -0,0 +1,30 @@ + +plugins { + // Apply the java Plugin to add support for Java. + java + id("com.gradleup.shadow") +} + +tasks { + build { + dependsOn(shadowJar) + } + + shadowJar { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + archiveBaseName.set("rpgregions-2-${project.name}") + archiveClassifier.set("") +// relocate("net.kyori", "rpgregions-libs.adventure") + relocate("com.google.gson", "rpgregions-libs.gson") + relocate("org.incendo.cloud", "rpgregions-libs.commandframework") + relocate("io.leangen.geantyref", "rpgregions-libs.typetoken") + relocate("com.convallyria.languagy", "rpgregions-libs.languagy") + relocate("io.papermc.lib", "rpgregions-libs.paperlib") + relocate("redempt.crunch", "rpgregions-libs.crunch") + relocate("co.aikar.idb", "rpgregions-libs.idb") + relocate("com.github.stefvanschie.inventoryframework", "rpgregions-libs.inventoryframework") + relocate("org.bstats", "rpgregions-libs.bstats") + relocate("me.lucko.helper", "rpgregions-libs.helper") + relocate("net.wesjd.anvilgui", "rpgregions-libs.anvilgui") + } +} \ No newline at end of file diff --git a/rpgregions/build.gradle.kts b/rpgregions/build.gradle.kts index 373edb3..7f8b0b3 100644 --- a/rpgregions/build.gradle.kts +++ b/rpgregions/build.gradle.kts @@ -1,5 +1,6 @@ plugins { id("buildlogic.java-common-conventions") + id("buildlogic.java-shadow-conventions") } repositories {