Skip to content

Commit f1ef6b8

Browse files
patrick-dedicationautonomousapps
authored andcommitted
refactor: extract directory walking code from FindKotlinMagicTask / JarExploder
1 parent ee76295 commit f1ef6b8

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/main/kotlin/com/autonomousapps/internal/JarExploder.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package com.autonomousapps.internal
44

55
import com.autonomousapps.internal.asm.ClassReader
66
import com.autonomousapps.internal.utils.asSequenceOfClassFiles
7-
import com.autonomousapps.internal.utils.filterToClassFiles
87
import com.autonomousapps.internal.utils.getLogger
98
import com.autonomousapps.model.internal.KtFile
109
import com.autonomousapps.model.internal.PhysicalArtifact
@@ -78,9 +77,7 @@ internal class JarExploder(
7877
Mode.CLASSES -> {
7978
ktFiles = KtFile.fromDirectory(artifact.file)
8079

81-
artifact.file.walkBottomUp()
82-
.filter { it.isFile }
83-
.filterToClassFiles()
80+
artifact.file.asSequenceOfClassFiles()
8481
.map { classFile ->
8582
ClassNameAndAnnotationsVisitor(logger).apply {
8683
val reader = classFile.inputStream().use { ClassReader(it.readBytes()) }

src/main/kotlin/com/autonomousapps/internal/utils/collections.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ internal fun Iterable<ZipEntry>.asSequenceOfClassFiles(): Sequence<ZipEntry> {
5656
}
5757
}
5858

59+
internal fun File.asSequenceOfClassFiles(): Sequence<File> {
60+
check(isDirectory) { "Expected directory. Was '${absolutePath}'" }
61+
return walkBottomUp().filter { it.isFile }.filterToClassFiles()
62+
}
63+
5964
// Can't use Iterable<File> because of signature clash with Iterable<ZipEntry> above.
6065
internal fun Collection<File>.asSequenceOfClassFiles(): Sequence<File> {
6166
return asSequence().filterToClassFiles()

src/main/kotlin/com/autonomousapps/tasks/FindKotlinMagicTask.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,7 @@ internal class KotlinMagicFinder(
221221
return KotlinCapabilities.EMPTY
222222
}
223223

224-
artifact.file.walkBottomUp()
225-
.filter { it.isFile }
226-
.filterToClassFiles()
224+
artifact.file.asSequenceOfClassFiles()
227225
.mapNotNull { classFile ->
228226
val kotlinMagic = readClass(
229227
classFile.inputStream().use { ClassReader(it.readBytes()) },

0 commit comments

Comments
 (0)