From bf80d55fc32237387c3de7b23fd7e2452c392b07 Mon Sep 17 00:00:00 2001 From: Alexander Korepanov Date: Mon, 23 Oct 2023 12:39:39 +0200 Subject: [PATCH] [JS IR test] Use relative paths for klib building in invalidation tests --- .../incremental/AbstractInvalidationTest.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt index c12dc80ab70..2f3e3622d66 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt @@ -156,6 +156,20 @@ abstract class AbstractInvalidationTest( return copy } + private fun CompilerConfiguration.enableKlibRelativePaths(moduleSourceDir: File) { + val bases = mutableListOf() + val platformDirs = moduleSourceDir.listFiles() ?: arrayOf() + for (platformDir in platformDirs) { + if (platformDir.isDirectory) { + bases.add(platformDir.absolutePath) + } + } + if (bases.isEmpty()) { + bases.add(moduleSourceDir.absolutePath) + } + put(CommonConfigurationKeys.KLIB_RELATIVE_PATH_BASES, bases) + } + private inner class ProjectStepsExecutor( private val projectInfo: ProjectInfo, private val moduleInfos: Map, @@ -197,6 +211,7 @@ abstract class AbstractInvalidationTest( } } val configuration = createConfiguration(module, projStep.language, projectInfo.moduleKind) + configuration.enableKlibRelativePaths(moduleSourceDir) outputKlibFile.delete() buildKlib(configuration, module, moduleSourceDir, dependencies, friends, outputKlibFile) }