From 7e948d317cf85684e0e8a6a5715b540295683ddc Mon Sep 17 00:00:00 2001 From: Daniel Chao Date: Tue, 19 Mar 2024 11:40:13 -0700 Subject: [PATCH] Add workaround for configuration error during maven publish (#342) The maven publish plugin isn't setting up dependencies correctly, and we are getting errors like: "Task ':pkl-config-java:publishFatJarPublicationToMavenLocal' uses this output of task ':pkl-config-java:signLibraryPublication' without declaring an explicit or implicit dependency." This adds a workaround for this type of error. --- buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts b/buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts index e0883052..ffab443f 100644 --- a/buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts +++ b/buildSrc/src/main/kotlin/pklPublishLibrary.gradle.kts @@ -103,6 +103,14 @@ tasks.publish { dependsOn(validatePom) } +// Workaround for maven publish plugin not setting up dependencies correctly. +// Taken from https://github.com/gradle/gradle/issues/26091#issuecomment-1798137734 +val dependsOnTasks = mutableListOf() +tasks.withType().configureEach { + dependsOnTasks.add(name.replace("publish", "sign").replaceAfter("Publication", "")) + dependsOn(dependsOnTasks) +} + signing { // provided as env vars `ORG_GRADLE_PROJECT_signingKey` and `ORG_GRADLE_PROJECT_signingPassword` // in CI.