From 58285bd1964407e7feee4bc85879669c611b6f24 Mon Sep 17 00:00:00 2001 From: Dmitry Kichinsky Date: Sun, 19 Jan 2025 00:06:36 +0100 Subject: [PATCH] [maven] IDEA-255308 create dependencies from additional compileSourceRoot modules to default 'main' module GitOrigin-RevId: ca2762124bee7d4cc9590beaa25b80ba9b990151 --- .../importing/tree/MavenProjectImportContextProvider.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/tree/MavenProjectImportContextProvider.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/tree/MavenProjectImportContextProvider.kt index 85dbf31ae182..0f1c46bfded1 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/tree/MavenProjectImportContextProvider.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/tree/MavenProjectImportContextProvider.kt @@ -115,10 +115,15 @@ internal class MavenProjectImportContextProvider( val result = mutableListOf(MavenTreeModuleImportData(project, module, emptyList(), changes)) + val defaultMainSubmodule = importData.defaultMainSubmodule + val additionalMainDependencies = + if (null == defaultMainSubmodule) emptyList() + else listOf(ModuleDependency(defaultMainSubmodule.moduleName, DependencyScope.COMPILE, false)) + for (submodule in submodules) { val dependencies = when (submodule.type) { StandardMavenModuleType.MAIN_ONLY -> mainDependencies - StandardMavenModuleType.MAIN_ONLY_ADDITIONAL -> mainDependencies + StandardMavenModuleType.MAIN_ONLY_ADDITIONAL -> mainDependencies + additionalMainDependencies StandardMavenModuleType.TEST_ONLY -> testDependencies + mainDependencies else -> null } ?: continue @@ -379,6 +384,7 @@ private class MavenProjectImportData( val submodules: List, ) { + val defaultMainSubmodule = submodules.firstOrNull { it.type == StandardMavenModuleType.MAIN_ONLY } val mainSubmodules = submodules.filter { it.type == StandardMavenModuleType.MAIN_ONLY || it.type == StandardMavenModuleType.MAIN_ONLY_ADDITIONAL } val testSubmodules = submodules.filter { it.type == StandardMavenModuleType.TEST_ONLY }