MPP: Implement isTestModule flag (as required by JPS)
Original commit: 6206f1e419
This commit is contained in:
@@ -215,6 +215,7 @@ class KotlinFacetSettings {
|
|||||||
|
|
||||||
var kind: KotlinModuleKind = KotlinModuleKind.DEFAULT
|
var kind: KotlinModuleKind = KotlinModuleKind.DEFAULT
|
||||||
var sourceSetNames: List<String> = emptyList()
|
var sourceSetNames: List<String> = emptyList()
|
||||||
|
var isTestModule: Boolean = false
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinFacetSettingsProvider {
|
interface KotlinFacetSettingsProvider {
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings {
|
|||||||
}
|
}
|
||||||
} else null
|
} else null
|
||||||
} ?: KotlinModuleKind.DEFAULT
|
} ?: KotlinModuleKind.DEFAULT
|
||||||
|
isTestModule = element.getAttributeValue("isTestModule")?.toBoolean() ?: false
|
||||||
element.getChild("compilerSettings")?.let {
|
element.getChild("compilerSettings")?.let {
|
||||||
compilerSettings = CompilerSettings()
|
compilerSettings = CompilerSettings()
|
||||||
XmlSerializer.deserializeInto(compilerSettings!!, it)
|
XmlSerializer.deserializeInto(compilerSettings!!, it)
|
||||||
@@ -289,6 +290,7 @@ private fun KotlinFacetSettings.writeLatestConfig(element: Element) {
|
|||||||
}
|
}
|
||||||
if (kind != KotlinModuleKind.DEFAULT) {
|
if (kind != KotlinModuleKind.DEFAULT) {
|
||||||
element.addContent(Element("newMppModelJpsModuleKind").apply { addContent(kind.name) })
|
element.addContent(Element("newMppModelJpsModuleKind").apply { addContent(kind.name) })
|
||||||
|
element.setAttribute("isTestModule", isTestModule.toString())
|
||||||
}
|
}
|
||||||
productionOutputPath?.let {
|
productionOutputPath?.let {
|
||||||
if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) {
|
if (it != (compilerArguments as? K2JSCompilerArguments)?.outputFile) {
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ import org.jetbrains.jps.incremental.ModuleBuildTarget
|
|||||||
import org.jetbrains.jps.model.java.JavaResourceRootType
|
import org.jetbrains.jps.model.java.JavaResourceRootType
|
||||||
import org.jetbrains.jps.model.java.JavaSourceRootProperties
|
import org.jetbrains.jps.model.java.JavaSourceRootProperties
|
||||||
import org.jetbrains.jps.model.java.JavaSourceRootType
|
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.JpsModule
|
||||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
|
||||||
import org.jetbrains.kotlin.config.KotlinResourceRootType
|
import org.jetbrains.kotlin.config.KotlinResourceRootType
|
||||||
import org.jetbrains.kotlin.config.KotlinSourceRootType
|
import org.jetbrains.kotlin.config.KotlinSourceRootType
|
||||||
import org.jetbrains.kotlin.jps.model.expectedByModules
|
import org.jetbrains.kotlin.jps.model.expectedByModules
|
||||||
|
import org.jetbrains.kotlin.jps.model.isTestModule
|
||||||
import org.jetbrains.kotlin.jps.model.sourceSetModules
|
import org.jetbrains.kotlin.jps.model.sourceSetModules
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -54,8 +54,10 @@ class KotlinSourceRootProvider : AdditionalRootsProviderService<JavaSourceRootDe
|
|||||||
}
|
}
|
||||||
|
|
||||||
// new multiplatform model support:
|
// new multiplatform model support:
|
||||||
module.sourceSetModules.forEach { sourceSetModule ->
|
if (target.isTests == module.isTestModule) {
|
||||||
addModuleSourceRoots(result, sourceSetModule, target)
|
module.sourceSetModules.forEach { sourceSetModule ->
|
||||||
|
addModuleSourceRoots(result, sourceSetModule, target)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// legacy multiplatform model support:
|
// legacy multiplatform model support:
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ val JpsModule.platform: IdePlatform<*, *>?
|
|||||||
val JpsModule.kotlinKind: KotlinModuleKind
|
val JpsModule.kotlinKind: KotlinModuleKind
|
||||||
get() = kotlinFacet?.settings?.kind ?: KotlinModuleKind.DEFAULT
|
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.
|
* Modules which is imported from sources sets of the compilation represented by this module.
|
||||||
* This module is not included.
|
* This module is not included.
|
||||||
|
|||||||
Reference in New Issue
Block a user