[Build] Add workaround to make local publishing serializable

Also signing plugin now being applied only when signing is required.
#KT-44611 In Progress
This commit is contained in:
Alexander Likhachev
2021-04-13 17:33:56 +03:00
parent 4e6c483ccc
commit 03f9d78eb3
4 changed files with 109 additions and 17 deletions
@@ -4,7 +4,7 @@ description = "Simple Annotation Processor for testing kapt"
plugins {
kotlin("jvm")
maven // only used for installing to mavenLocal()
`maven-publish` // only used for installing to mavenLocal()
id("jps-compatible")
}
@@ -18,4 +18,28 @@ dependencies {
sourceSets {
"test" {}
}
publishing {
publications {
create<MavenPublication>("main") {
from(components["java"])
}
}
}
tasks.register("install") {
dependsOn(tasks.named("publishToMavenLocal"))
}
// workaround for Gradle configuration cache
// TODO: remove it when https://github.com/gradle/gradle/pull/16945 merged into used in build Gradle version
tasks.withType(PublishToMavenLocal::class.java) {
val originalTask = this
val serializablePublishTask =
tasks.register(originalTask.name + "Serializable", PublishToMavenLocalSerializable::class.java) {
publication = originalTask.publication
}
originalTask.onlyIf { false }
originalTask.dependsOn(serializablePublishTask)
}