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))