Divide compilation output directories
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilationOutputs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilationOutputs.kt
index d52b498..68aacfc 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilationOutputs.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/kotlinCompilationOutputs.kt
@@ -17,7 +17,11 @@
override var resourcesDirProvider: Any
) : KotlinCompilationOutput, Callable<FileCollection> {
- override val classesDirs: ConfigurableFileCollection = project.files()
+ val kotlinClassesDirs: ConfigurableFileCollection = project.files()
+
+ val otherClassesDirs: ConfigurableFileCollection = project.files()
+
+ override val classesDirs: ConfigurableFileCollection = project.files(kotlinClassesDirs, otherClassesDirs)
override val allOutputs = project.files().apply {
from(classesDirs)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt
index db83e01..b49201b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/android/Android25ProjectHandler.kt
@@ -23,6 +23,7 @@
import org.gradle.api.tasks.compile.JavaCompile
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
+import org.jetbrains.kotlin.gradle.plugin.mpp.DefaultKotlinCompilationOutput
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.thisTaskProvider
@@ -48,7 +49,8 @@
) {
val preJavaKotlinOutput = project.files(project.provider {
mutableListOf<File>().apply {
- add(kotlinTask.get().destinationDir)
+ val kotlinClassesDirs = (compilation.output as DefaultKotlinCompilationOutput).kotlinClassesDirs
+ addAll(kotlinClassesDirs)
if (Kapt3GradleSubplugin.isEnabled(project)) {
// Add Kapt3 output as well, since there's no SyncOutputTask with the new API
val kaptClasssesDir = Kapt3GradleSubplugin.getKaptGeneratedClassesDir(project, getVariantName(variantData))