From 897c48f97eac4e0a5190773cd7b5c31683d601eb Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 12 Mar 2020 21:28:54 +0900 Subject: [PATCH] Add more robust check for plugin application order (KT-37245) Cause build to fail if the 'kotlin-kapt' plugin is applied before the main Kotlin plugin ('kotlin' or 'kotlin-android'). The 'logger.error()' prints an error message, however the build continues. --- .../kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt index f3e5f122e07..f933cccf7e0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/kapt/Kapt3KotlinGradleSubplugin.kt @@ -9,6 +9,7 @@ import com.android.build.gradle.BaseExtension import com.android.build.gradle.api.AndroidSourceSet import com.android.builder.model.SourceProvider import com.intellij.openapi.util.SystemInfo +import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.Task @@ -65,7 +66,7 @@ class Kapt3GradleSubplugin @Inject internal constructor(private val registry: To project.getKotlinPluginVersion()?.let { kotlinPluginVersion -> val kaptDependency = getPluginArtifact().run { "$groupId:$artifactId:$kotlinPluginVersion" } dependencies.add(project.dependencies.create(kaptDependency)) - } ?: project.logger.error("Kotlin plugin should be enabled before 'kotlin-kapt'") + } ?: throw GradleException("Kotlin plugin should be enabled before 'kotlin-kapt'") } } registry.register(KaptModelBuilder())