Use file trees in InspectClassesForMultiModuleIC
#KT-26208
This commit is contained in:
+13
-3
@@ -11,6 +11,7 @@ import org.gradle.api.plugins.JavaPluginConvention
|
|||||||
import org.gradle.api.tasks.*
|
import org.gradle.api.tasks.*
|
||||||
import org.gradle.jvm.tasks.Jar
|
import org.gradle.jvm.tasks.Jar
|
||||||
import org.jetbrains.kotlin.gradle.utils.isClassFile
|
import org.jetbrains.kotlin.gradle.utils.isClassFile
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
internal open class InspectClassesForMultiModuleIC : DefaultTask() {
|
internal open class InspectClassesForMultiModuleIC : DefaultTask() {
|
||||||
@@ -28,9 +29,18 @@ internal open class InspectClassesForMultiModuleIC : DefaultTask() {
|
|||||||
@Suppress("MemberVisibilityCanBePrivate")
|
@Suppress("MemberVisibilityCanBePrivate")
|
||||||
@get:InputFiles
|
@get:InputFiles
|
||||||
internal val classFiles: FileCollection
|
internal val classFiles: FileCollection
|
||||||
get() = project.convention.findPlugin(JavaPluginConvention::class.java)?.let {
|
get() {
|
||||||
it.sourceSets.findByName(sourceSetName)?.output?.asFileTree?.filter { it.isClassFile() }
|
val convention = project.convention.findPlugin(JavaPluginConvention::class.java)
|
||||||
} ?: project.files()
|
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
|
@get:Input
|
||||||
internal val archivePath: String
|
internal val archivePath: String
|
||||||
|
|||||||
Reference in New Issue
Block a user