diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt index 6e073e686cd..b5c27954fdd 100755 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinPlugin.kt @@ -387,6 +387,7 @@ internal abstract class AbstractKotlinPlugin( return } val inspectTask = project.tasks.create("inspectClassesForKotlinIC", InspectClassesForMultiModuleIC::class.java) + inspectTask.sourceSetName = SourceSet.MAIN_SOURCE_SET_NAME inspectTask.jarTask = jarTask inspectTask.dependsOn(classesTask) jarTask.dependsOn(inspectTask) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/UpdateKotlinCachesTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt similarity index 74% rename from libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/UpdateKotlinCachesTask.kt rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt index 5aeee413e67..184c3ff3700 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/UpdateKotlinCachesTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt @@ -7,9 +7,9 @@ package org.jetbrains.kotlin.gradle.tasks import org.gradle.api.DefaultTask import org.gradle.api.file.FileCollection +import org.gradle.api.plugins.JavaPluginConvention import org.gradle.api.tasks.* import org.gradle.jvm.tasks.Jar -import org.jetbrains.kotlin.gradle.utils.inputsCompatible import org.jetbrains.kotlin.gradle.utils.isClassFile import java.io.File @@ -17,6 +17,9 @@ internal open class InspectClassesForMultiModuleIC : DefaultTask() { @get:Internal lateinit var jarTask: Jar + @get:Input + lateinit var sourceSetName: String + @Suppress("MemberVisibilityCanBePrivate") @get:OutputFile internal val classesListFile: File @@ -25,7 +28,9 @@ internal open class InspectClassesForMultiModuleIC : DefaultTask() { @Suppress("MemberVisibilityCanBePrivate") @get:InputFiles internal val classFiles: FileCollection - get() = jarTask.inputsCompatible.files.filter { it.isClassFile() } + get() = project.convention.findPlugin(JavaPluginConvention::class.java)?.let { + it.sourceSets.findByName(sourceSetName)?.output?.asFileTree?.filter { it.isClassFile() } + } ?: project.files() @get:Input internal val archivePath: String @@ -34,8 +39,7 @@ internal open class InspectClassesForMultiModuleIC : DefaultTask() { @TaskAction fun run() { classesListFile.parentFile.mkdirs() - val paths = classFiles.map { it.canonicalPath }.sorted() - val text = paths.joinToString(File.pathSeparator) + val text = classFiles.map { it.absolutePath }.sorted().joinToString(File.pathSeparator) classesListFile.writeText(text) }