JPS JS: fix friend path detection in projects imported from Gradle (KT-18963 fixed)

Original commit: b2e53644a5
This commit is contained in:
Anton Bannykh
2017-10-19 19:47:13 +03:00
parent edb34f3f5f
commit 19aa785e60
3 changed files with 11 additions and 4 deletions
@@ -50,11 +50,11 @@ object JpsJsModuleUtils {
override fun consume(module: JpsModule) { override fun consume(module: JpsModule) {
if (module.moduleType != JpsJavaModuleType.INSTANCE) return 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) 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) addTarget(module, isTests = true)
} }
} }
@@ -85,3 +85,9 @@ object JpsJsModuleUtils {
private fun suffix(isTests: Boolean) = if (isTests) "_test" else "" 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}
@@ -142,7 +142,7 @@ object KotlinBuilderModuleScriptGenerator {
val result = SmartList<JpsModule>(from.module) val result = SmartList<JpsModule>(from.module)
result.addIfNotNull(getRelatedProductionModule(from.module)) result.addIfNotNull(getRelatedProductionModule(from.module))
return result return result.filter { it.hasProductionSourceRoot }
} }
fun getAdditionalOutputDirsWhereInternalsAreVisible(target: ModuleBuildTarget): List<File> { fun getAdditionalOutputDirsWhereInternalsAreVisible(target: ModuleBuildTarget): List<File> {
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4"> <module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true"> <component name="NewModuleRootManager">
<output-test url="file://$MODULE_DIR$/../out/" />
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$"> <content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />