From 19aa785e60a14fceecb0aa607b2691b147727c6c Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Thu, 19 Oct 2017 19:47:13 +0300 Subject: [PATCH] JPS JS: fix friend path detection in projects imported from Gradle (KT-18963 fixed) Original commit: b2e53644a50a744a54ba5a718e75d8307a2d83dd --- .../org/jetbrains/kotlin/jps/build/JpsJsModuleUtils.kt | 10 ++++++++-- .../jps/build/KotlinBuilderModuleScriptGenerator.kt | 2 +- .../module2/module2.iml | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) 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 @@ - + +