From f8a3b8bf1fc2bbf6620e286736a93802e4fbec0c Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Mon, 21 Feb 2022 11:31:12 +0100 Subject: [PATCH] Add helper to get paths related to the project dir ^KT-45745 In Progress --- .../kotlin/gradle/testbase/pathHelpers.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) 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 a42a4ca0dce..8f6b0d17e50 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 @@ -107,3 +107,24 @@ internal fun Path.deleteRecursively() { } internal fun Iterable.toPaths(): List = map { Paths.get(it) } + +/** + * Convert list of [expectedSourceFiles] to relate to [TestProject] paths. + */ +fun TestProject.sourceFilesRelativeToProject( + expectedSourceFiles: List, + sourcesDir: GradleProject.() -> Path = { javaSourcesDir() }, + subProjectName: String? = null +): Iterable { + return expectedSourceFiles + .map { + if (subProjectName != null) { + subProject(subProjectName).sourcesDir().resolve(it) + } else { + sourcesDir().resolve(it) + } + } + .map { + it.relativeTo(projectPath) + } +}