From 73f7c2ef3cce2402f1e51a39763532776dd57793 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Mon, 20 Aug 2018 05:27:50 +0300 Subject: [PATCH] Use file trees in InspectClassesForMultiModuleIC #KT-26208 --- .../tasks/InspectClassesForMultiModuleIC.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt index 184c3ff3700..81394696542 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/InspectClassesForMultiModuleIC.kt @@ -11,6 +11,7 @@ import org.gradle.api.plugins.JavaPluginConvention import org.gradle.api.tasks.* import org.gradle.jvm.tasks.Jar import org.jetbrains.kotlin.gradle.utils.isClassFile +import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast import java.io.File internal open class InspectClassesForMultiModuleIC : DefaultTask() { @@ -28,9 +29,18 @@ internal open class InspectClassesForMultiModuleIC : DefaultTask() { @Suppress("MemberVisibilityCanBePrivate") @get:InputFiles internal val classFiles: FileCollection - get() = project.convention.findPlugin(JavaPluginConvention::class.java)?.let { - it.sourceSets.findByName(sourceSetName)?.output?.asFileTree?.filter { it.isClassFile() } - } ?: project.files() + get() { + val convention = project.convention.findPlugin(JavaPluginConvention::class.java) + val sourceSet = convention?.sourceSets?.findByName(sourceSetName) ?: return project.files() + + return if (isGradleVersionAtLeast(4, 0)) { + val fileTrees = sourceSet.output.classesDirs.map { project.fileTree(it).include("**/*.class") } + project.files(fileTrees) + } else { + sourceSet.output.asFileTree.filter { it.isClassFile() } + } + + } @get:Input internal val archivePath: String