From 4c540152fee58f0fcbb4153f5ab2d7fbf44f15f6 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 2 Oct 2020 18:50:21 +0900 Subject: [PATCH] Parcelize: Forbid applying both 'kotlin-parcelize' and 'kotlin-android-extensions' (KT-42342) --- .../gradle/targets/android/internal/ParcelizeSubplugin.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/ParcelizeSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/ParcelizeSubplugin.kt index f62c2e8c79c..fcb64f2e1ab 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/ParcelizeSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/internal/ParcelizeSubplugin.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.internal import com.android.build.gradle.BaseExtension +import org.gradle.api.GradleException import org.gradle.api.Project import org.gradle.api.provider.Provider import org.jetbrains.kotlin.gradle.plugin.* @@ -16,6 +17,12 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation class ParcelizeSubplugin : KotlinCompilerPluginSupportPlugin { override fun apply(target: Project) { addParcelizeRuntime(target) + + target.afterEvaluate { + if (target.plugins.hasPlugin(AndroidSubplugin::class.java)) { + throw GradleException("${target.path}: 'kotlin-parcelize' can't be applied together with 'kotlin-android-extensions'") + } + } } override fun isApplicable(kotlinCompilation: KotlinCompilation<*>): Boolean {