From 7fae7c1d553113d2d6a9e4df368a55907430209e Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Thu, 11 May 2017 19:24:23 +0300 Subject: [PATCH] Fix registering the non-existent Kapt3 classes directory as bytecode if Kapt3 is disabled. (cherry picked from commit 692e23c) (cherry picked from commit 1cbdb6c) --- .../gradle/plugin/android/Android25ProjectHandler.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt index 59c78393122..e9c9f6a0ff9 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/agp25/kotlin/org/jetbrains/kotlin/gradle/plugin/android/Android25ProjectHandler.kt @@ -8,6 +8,7 @@ import com.android.build.gradle.api.UnitTestVariant import com.android.builder.model.SourceProvider import org.gradle.api.Project import org.gradle.api.tasks.compile.AbstractCompile +import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin import org.jetbrains.kotlin.gradle.internal.Kapt3KotlinGradleSubplugin import org.jetbrains.kotlin.gradle.internal.KaptTask import org.jetbrains.kotlin.gradle.internal.WrappedVariantData @@ -53,8 +54,13 @@ class Android25ProjectHandler(kotlinConfigurationTools: KotlinConfigurationTools val preJavaKotlinOutput = (if (kotlinAfterJavaTask == null) - // Add Kapt3 output as well, since there's no SyncOutputTask with the new API - project.files(kotlinTask.destinationDir, Kapt3KotlinGradleSubplugin.getKaptClasssesDir(project, getVariantName(variantData))) + project.files(kotlinTask.destinationDir).let { kotlinOutput -> + if (Kapt3GradleSubplugin.isEnabled(project)) + // Add Kapt3 output as well, since there's no SyncOutputTask with the new API + kotlinOutput.from(Kapt3KotlinGradleSubplugin.getKaptClasssesDir(project, getVariantName(variantData))) + else + kotlinOutput + } else // Don't register the output, but add the task to the pipeline project.files()