From 5989e0936f77a934f2cb5eeda215de4b4f4cf1b6 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Tue, 19 Oct 2021 21:14:13 +0200 Subject: [PATCH] Add helper methods to find all Kotlin or Java source files. ^KT-45745 In Progress --- .../kotlin/gradle/testbase/pathHelpers.kt | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt index 25b08a40ec5..b8c2573d88c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/pathHelpers.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.gradle.testbase import java.nio.file.Files import java.nio.file.Path import kotlin.io.path.extension -import kotlin.io.path.relativeTo +import kotlin.io.path.relativeTo import kotlin.io.path.isRegularFile import kotlin.streams.asSequence import kotlin.streams.toList @@ -20,6 +20,28 @@ import kotlin.streams.toList internal fun Path.findInPath(name: String): Path? = Files .walk(this).use { stream -> stream.asSequence().find { it.fileName.toString() == name } } +/** + * Find all Kotlin source files (ends with '.kt') in the given [Path]. + */ +internal val Path.allKotlinSources: List + get() = Files.walk(this) + .use { files -> + files.asSequence() + .filter { it.isRegularFile() && it.extension == "kt" } + .toList() + } + +/** + * Find all Java source files (ends with '.java') in the given [Path]. + */ +internal val Path.allJavaSources: List + get() = Files.walk(this) + .use { files -> + files.asSequence() + .filter { it.isRegularFile() && it.extension == "java" } + .toList() + } + /** * Create a temporary directory that will be cleaned up on normal JVM termination, but will be left on non-zero exit status. *