Fix signing in :kotlin-annotation-processing-embeddable
Problem is reproducible only when singing is enabled.
Register dependencies between publication and signing tasks.
It looks like signing tasks have same output and need to be registered
in all publications.
Error:
* What went wrong:
Some problems were found with the configuration of task ':kotlin-annotation-processing-embeddable:publishMainPublicationToMavenLocal' (type 'PublishToMavenLocal').
- Gradle detected a problem with the following location: '/Users/Shared/Projects/kotlin/plugins/kapt3/kotlin-annotation-processing-embeddable/build/libs/kotlin-annotation-processing-embeddable-1.9.255-SNAPSHOT-sources.jar.asc'.
Reason: Task ':kotlin-annotation-processing-embeddable:publishMainPublicationToMavenLocal' uses this output of task ':kotlin-annotation-processing-embeddable:signGradleCompatPublication' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Reproduce:
gradle :kotlin-annotation-processing-embeddable:publishToMavenLocal -Psigning.gnupg.keyName=* -Psigning.gnupg.passphrase=* -PsigningRequired=true
KTI-1282
This commit is contained in:
committed by
Space Team
parent
e6df34805f
commit
7f751c5d61
@@ -2,6 +2,7 @@ import org.gradle.api.publish.internal.PublicationInternal
|
||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
||||
import plugins.KotlinBuildPublishingPlugin.Companion.ADHOC_COMPONENT_NAME
|
||||
import plugins.configureKotlinPomAttributes
|
||||
import plugins.signLibraryPublication
|
||||
|
||||
description = "Annotation Processor for Kotlin (for using with embeddable compiler)"
|
||||
|
||||
@@ -26,6 +27,21 @@ val gradleCompatPublication = publications.register<MavenPublication>("gradleCom
|
||||
(this as PublicationInternal<*>).isAlias = true
|
||||
configureKotlinPomAttributes(project)
|
||||
}
|
||||
if (signLibraryPublication) {
|
||||
tasks.named("publishGradleCompatPublicationToMavenLocal").configure {
|
||||
dependsOn("signMainPublication")
|
||||
}
|
||||
tasks.named("publishGradleCompatPublicationToMavenRepository").configure {
|
||||
dependsOn("signMainPublication")
|
||||
}
|
||||
tasks.named("publishMainPublicationToMavenLocal").configure {
|
||||
dependsOn("signGradleCompatPublication")
|
||||
}
|
||||
tasks.named("publishMainPublicationToMavenRepository").configure {
|
||||
dependsOn("signGradleCompatPublication")
|
||||
}
|
||||
}
|
||||
|
||||
val targetName = "${gradleCompatPublication.name.capitalizeAsciiOnly()}Publication"
|
||||
configureSbom(
|
||||
target = targetName,
|
||||
|
||||
Reference in New Issue
Block a user