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) + } +}