MPP: Implement isTestModule flag (as required by JPS)

This commit is contained in:
Alexey Sedunov
2018-09-07 18:54:38 +03:00
parent befb6d19d1
commit 6206f1e419
5 changed files with 13 additions and 3 deletions
@@ -14,12 +14,12 @@ import org.jetbrains.jps.incremental.ModuleBuildTarget
import org.jetbrains.jps.model.java.JavaResourceRootType
import org.jetbrains.jps.model.java.JavaSourceRootProperties
import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.jps.model.java.JpsJavaExtensionService
import org.jetbrains.jps.model.module.JpsModule
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
import org.jetbrains.kotlin.config.KotlinResourceRootType
import org.jetbrains.kotlin.config.KotlinSourceRootType
import org.jetbrains.kotlin.jps.model.expectedByModules
import org.jetbrains.kotlin.jps.model.isTestModule
import org.jetbrains.kotlin.jps.model.sourceSetModules
import java.io.File
@@ -54,8 +54,10 @@ class KotlinSourceRootProvider : AdditionalRootsProviderService<JavaSourceRootDe
}
// new multiplatform model support:
module.sourceSetModules.forEach { sourceSetModule ->
addModuleSourceRoots(result, sourceSetModule, target)
if (target.isTests == module.isTestModule) {
module.sourceSetModules.forEach { sourceSetModule ->
addModuleSourceRoots(result, sourceSetModule, target)
}
}
// legacy multiplatform model support:
@@ -22,6 +22,9 @@ val JpsModule.platform: IdePlatform<*, *>?
val JpsModule.kotlinKind: KotlinModuleKind
get() = kotlinFacet?.settings?.kind ?: KotlinModuleKind.DEFAULT
val JpsModule.isTestModule: Boolean
get() = kotlinFacet?.settings?.isTestModule ?: false
/**
* Modules which is imported from sources sets of the compilation represented by this module.
* This module is not included.