7f751c5d61
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
55 lines
1.9 KiB
Kotlin
55 lines
1.9 KiB
Kotlin
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)"
|
|
|
|
plugins {
|
|
`java-library`
|
|
}
|
|
|
|
dependencies {
|
|
embedded(project(":kotlin-annotation-processing")) { isTransitive = false }
|
|
}
|
|
|
|
publish()
|
|
|
|
// Special compat publication for Kapt/Gradle until we will have minimal
|
|
// supported IDEA/Kotlin plugin version 1.9.0
|
|
val publications: PublicationContainer = extensions.getByType<PublishingExtension>().publications
|
|
val gradleCompatPublication = publications.register<MavenPublication>("gradleCompat") {
|
|
artifactId = "kotlin-annotation-processing-gradle"
|
|
from(components[ADHOC_COMPONENT_NAME])
|
|
|
|
// Workaround for https://github.com/gradle/gradle/issues/12324
|
|
(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,
|
|
documentName = "kotlin-annotation-processing-gradle",
|
|
publication = gradleCompatPublication
|
|
)
|
|
|
|
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
|
|
sourcesJar()
|
|
javadocJar()
|