diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/JpsJsModuleUtils.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/JpsJsModuleUtils.kt index a26bb7e50b0..2f507500b58 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/JpsJsModuleUtils.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/JpsJsModuleUtils.kt @@ -50,11 +50,11 @@ object JpsJsModuleUtils { override fun consume(module: JpsModule) { if (module.moduleType != JpsJavaModuleType.INSTANCE) return - if ((module != target.module || target.isTests) && module.sourceRoots.any { it.rootType == JavaSourceRootType.SOURCE}) { + if ((module != target.module || target.isTests) && module.hasProductionSourceRoot) { addTarget(module, isTests = false) } - if (module != target.module && target.isTests && module.sourceRoots.any { it.rootType == JavaSourceRootType.TEST_SOURCE}) { + if (module != target.module && target.isTests && module.hasTestSourceRoot) { addTarget(module, isTests = true) } } @@ -85,3 +85,9 @@ object JpsJsModuleUtils { private fun suffix(isTests: Boolean) = if (isTests) "_test" else "" } + +val JpsModule.hasProductionSourceRoot + get() = sourceRoots.any { it.rootType == JavaSourceRootType.SOURCE} + +val JpsModule.hasTestSourceRoot + get() = sourceRoots.any { it.rootType == JavaSourceRootType.TEST_SOURCE} \ No newline at end of file diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt index 658eb9ee5a1..9395e09c990 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilderModuleScriptGenerator.kt @@ -142,7 +142,7 @@ object KotlinBuilderModuleScriptGenerator { val result = SmartList(from.module) result.addIfNotNull(getRelatedProductionModule(from.module)) - return result + return result.filter { it.hasProductionSourceRoot } } fun getAdditionalOutputDirsWhereInternalsAreVisible(target: ModuleBuildTarget): List { diff --git a/jps/jps-plugin/testData/general/KotlinJavaScriptInternalFromSpecialRelatedModule/module2/module2.iml b/jps/jps-plugin/testData/general/KotlinJavaScriptInternalFromSpecialRelatedModule/module2/module2.iml index 427f7bce96f..3535f0fb297 100644 --- a/jps/jps-plugin/testData/general/KotlinJavaScriptInternalFromSpecialRelatedModule/module2/module2.iml +++ b/jps/jps-plugin/testData/general/KotlinJavaScriptInternalFromSpecialRelatedModule/module2/module2.iml @@ -1,6 +1,7 @@ - + +