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

This commit is contained in:
Anton Bannykh
2017-10-19 19:47:13 +03:00
parent 739b21f519
commit b2e53644a5
3 changed files with 11 additions and 4 deletions
@@ -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}
@@ -142,7 +142,7 @@ object KotlinBuilderModuleScriptGenerator {
val result = SmartList<JpsModule>(from.module)
result.addIfNotNull(getRelatedProductionModule(from.module))
return result
return result.filter { it.hasProductionSourceRoot }
}
fun getAdditionalOutputDirsWhereInternalsAreVisible(target: ModuleBuildTarget): List<File> {
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<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 />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />