diff --git a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt index ab69e3cbcc1..1040e85c7c7 100644 --- a/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt +++ b/buildSrc/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt @@ -5,7 +5,6 @@ package plugins -import PublishToMavenLocalSerializable import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.attributes.Usage @@ -14,7 +13,6 @@ import org.gradle.api.plugins.JavaBasePlugin import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.plugins.MavenPublishPlugin -import org.gradle.api.publish.maven.tasks.PublishToMavenLocal import org.gradle.api.publish.maven.tasks.PublishToMavenRepository import org.gradle.api.tasks.TaskProvider import org.gradle.kotlin.dsl.* @@ -154,18 +152,6 @@ fun Project.configureDefaultPublishing() { 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) - } - tasks.withType() .matching { it.name.endsWith("PublicationTo${KotlinBuildPublishingPlugin.REPOSITORY_NAME}Repository") } .all { configureRepository() } diff --git a/buildSrc/src/main/kotlin/tasks.kt b/buildSrc/src/main/kotlin/tasks.kt index fbe083d24e3..47325dc20d9 100644 --- a/buildSrc/src/main/kotlin/tasks.kt +++ b/buildSrc/src/main/kotlin/tasks.kt @@ -7,22 +7,13 @@ // usages in build scripts are not tracked properly @file:Suppress("unused") -import org.gradle.api.InvalidUserDataException import org.gradle.api.Project import org.gradle.api.Task import org.gradle.api.artifacts.ProjectDependency import org.gradle.api.file.FileSystemOperations import org.gradle.api.internal.tasks.testing.filter.DefaultTestFilter -import org.gradle.api.publish.internal.PublishOperation -import org.gradle.api.publish.maven.internal.publication.MavenPublicationInternal -import org.gradle.api.publish.maven.internal.publisher.MavenNormalizedPublication -import org.gradle.api.publish.maven.internal.publisher.MavenPublisher -import org.gradle.api.publish.maven.internal.publisher.ValidatingMavenPublisher -import org.gradle.api.publish.maven.tasks.AbstractPublishToMaven -import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.testing.Test -import org.gradle.internal.serialization.Cached import org.gradle.kotlin.dsl.extra import org.gradle.kotlin.dsl.project import org.gradle.kotlin.dsl.support.serviceOf @@ -291,31 +282,4 @@ fun Task.useAndroidSdk() { fun Task.useAndroidJar() { TaskUtils.useAndroidJar(this) -} - -// Workaround to make PublishToMavenLocal compatible with Gradle configuration cache -// TODO: remove it when https://github.com/gradle/gradle/pull/16945 merged into used in build Gradle version -abstract class PublishToMavenLocalSerializable : AbstractPublishToMaven() { - private val normalizedPublication = Cached.of { this.computeNormalizedPublication() } - - private fun computeNormalizedPublication(): MavenNormalizedPublication { - val publicationInternal: MavenPublicationInternal = publicationInternal - ?: throw InvalidUserDataException("The 'publication' property is required") - duplicatePublicationTracker.checkCanPublishToMavenLocal(publicationInternal) - return publicationInternal.asNormalisedPublication() - } - - @TaskAction - open fun publish() { - val normalizedPublication = normalizedPublication.get() - object : PublishOperation(normalizedPublication.name, "mavenLocal") { - override fun publish() { - val localPublisher = mavenPublishers.getLocalPublisher( - temporaryDirFactory - ) - val validatingPublisher: MavenPublisher = ValidatingMavenPublisher(localPublisher) - validatingPublisher.publish(normalizedPublication, null) - } - }.run() - } -} +} \ No newline at end of file diff --git a/libraries/examples/annotation-processor-example/build.gradle.kts b/libraries/examples/annotation-processor-example/build.gradle.kts index 8a3ab2dd62e..a1df51936b2 100644 --- a/libraries/examples/annotation-processor-example/build.gradle.kts +++ b/libraries/examples/annotation-processor-example/build.gradle.kts @@ -30,16 +30,4 @@ publishing { 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) } \ No newline at end of file