From ac3009082f516e3810e70a30a31edbeeafa8f837 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Fri, 4 Oct 2019 19:43:02 +0700 Subject: [PATCH] QuickFixMultiModuleTest: support hierarchy MPP --- .../idea/multiplatform/multiPlatformSetup.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/idea/tests/org/jetbrains/kotlin/idea/multiplatform/multiPlatformSetup.kt b/idea/tests/org/jetbrains/kotlin/idea/multiplatform/multiPlatformSetup.kt index 46a1e0c5586..fc8057b53f4 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/multiplatform/multiPlatformSetup.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/multiplatform/multiPlatformSetup.kt @@ -37,6 +37,12 @@ import java.io.File // configuration is based on those directories names fun AbstractMultiModuleTest.setupMppProjectFromDirStructure(testRoot: File) { assert(testRoot.isDirectory) { testRoot.absolutePath + " must be a directory" } + val dependencies = dependenciesFile(testRoot) + if (dependencies.exists()) { + setupMppProjectFromDependenciesFile(dependencies, testRoot) + return + } + val dirs = testRoot.listFiles().filter { it.isDirectory } val rootInfos = dirs.map { parseDirName(it) } doSetupProject(rootInfos) @@ -44,7 +50,13 @@ fun AbstractMultiModuleTest.setupMppProjectFromDirStructure(testRoot: File) { fun AbstractMultiModuleTest.setupMppProjectFromTextFile(testRoot: File) { assert(testRoot.isDirectory) { testRoot.absolutePath + " must be a directory" } - val dependencies = File(testRoot, "dependencies.txt") + val dependencies = dependenciesFile(testRoot) + setupMppProjectFromDependenciesFile(dependencies, testRoot) +} + +private fun dependenciesFile(testRoot: File) = File(testRoot, "dependencies.txt") + +fun AbstractMultiModuleTest.setupMppProjectFromDependenciesFile(dependencies: File, testRoot: File) { val projectModel = ProjectStructureParser(testRoot).parse(FileUtil.loadFile(dependencies)) check(projectModel.modules.isNotEmpty()) { "No modules were parsed from dependencies.txt" }