Skip to content

Commit ba34fd8

Browse files
authored
build: Set sign task as dependency of publish tasks (#93)
1 parent 9ff9695 commit ba34fd8

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

buildSrc/src/main/kotlin/io/github/petertrr/PublishingConfiguration.kt

+8
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import org.gradle.api.publish.PublishingExtension
77
import org.gradle.api.publish.maven.MavenPublication
88
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
99
import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven
10+
import org.gradle.api.publish.maven.tasks.PublishToMavenRepository
1011
import org.gradle.api.tasks.bundling.Jar
1112
import org.gradle.kotlin.dsl.*
1213
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
14+
import org.gradle.plugins.signing.Sign
1315
import org.gradle.plugins.signing.SigningExtension
1416
import org.gradle.plugins.signing.SigningPlugin
1517

@@ -111,6 +113,12 @@ private fun Project.configureSigning() {
111113
logger.lifecycle("The following publications are getting signed: ${extensions.getByType<PublishingExtension>().publications.map { it.name }}")
112114
sign(*extensions.getByType<PublishingExtension>().publications.toTypedArray())
113115
}
116+
117+
tasks.withType<PublishToMavenRepository>().configureEach {
118+
// We have a single Javadoc artifact shared by all platforms, hence all publications depend on signing of this artifact.
119+
// This causes weird implicit dependencies, like `publishJsPublication...` depends on `signJvmPublication`.
120+
dependsOn(tasks.withType<Sign>())
121+
}
114122
}
115123

116124
private fun Project.configureNexusPublishing() {

0 commit comments

Comments
 (0)