From a2e4b527473312d133f70ec91ad82c207328c6ac Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Sat, 6 Jun 2020 00:26:28 +0300 Subject: [PATCH] Rework SerializationSubplugin for the new subplugins API --- .../gradle/SerializationSubplugin.kt | 35 +++++-------------- ...kotlin.gradle.plugin.KotlinGradleSubplugin | 17 --------- 2 files changed, 8 insertions(+), 44 deletions(-) delete mode 100644 libraries/tools/kotlin-serialization/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin diff --git a/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt b/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt index 1e415ffae9d..af1601fffd6 100644 --- a/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt +++ b/libraries/tools/kotlin-serialization/src/main/kotlin/org/jetbrains/kotlinx/serialization/gradle/SerializationSubplugin.kt @@ -16,44 +16,25 @@ package org.jetbrains.kotlinx.serialization.gradle -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.tasks.compile.AbstractCompile +import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation -import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin +import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerPluginSupportPlugin import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact import org.jetbrains.kotlin.gradle.plugin.SubpluginOption -class SerializationGradleSubplugin : Plugin { - companion object { - fun isEnabled(project: Project) = project.plugins.findPlugin(SerializationGradleSubplugin::class.java) != null - } - - override fun apply(project: Project) { - // nothing here - } -} - -class SerializationKotlinGradleSubplugin : KotlinGradleSubplugin { +class SerializationGradleSubplugin : KotlinCompilerPluginSupportPlugin { companion object { const val SERIALIZATION_GROUP_NAME = "org.jetbrains.kotlin" const val SERIALIZATION_ARTIFACT_NAME = "kotlin-serialization" const val SERIALIZATION_ARTIFACT_UNSHADED_NAME = "kotlin-serialization-unshaded" } - override fun isApplicable(project: Project, task: AbstractCompile): Boolean = - SerializationGradleSubplugin.isEnabled(project) + override fun isApplicable(kotlinCompilation: KotlinCompilation<*>): Boolean = true - override fun apply( - project: Project, - kotlinCompile: AbstractCompile, - javaCompile: AbstractCompile?, - variantData: Any?, - androidProjectHandler: Any?, - kotlinCompilation: KotlinCompilation<*>? - ): List { - return emptyList() - } + override fun applyToCompilation( + kotlinCompilation: KotlinCompilation<*> + ): Provider> = + kotlinCompilation.target.project.provider { emptyList() } override fun getPluginArtifact(): SubpluginArtifact = SubpluginArtifact(SERIALIZATION_GROUP_NAME, SERIALIZATION_ARTIFACT_NAME) diff --git a/libraries/tools/kotlin-serialization/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin b/libraries/tools/kotlin-serialization/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin deleted file mode 100644 index 29016e56c80..00000000000 --- a/libraries/tools/kotlin-serialization/src/main/resources/META-INF/services/org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright 2010-2017 JetBrains s.r.o. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -org.jetbrains.kotlinx.serialization.gradle.SerializationKotlinGradleSubplugin \ No newline at end of file