Configuration: Add migration of JPS project to new non-jvm source roots
Original commit: d2bfb8caec
This commit is contained in:
@@ -25,6 +25,7 @@ import org.jdom.Element
|
|||||||
import org.jdom.Text
|
import org.jdom.Text
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.*
|
import org.jetbrains.kotlin.cli.common.arguments.*
|
||||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||||
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||||
import java.lang.reflect.Modifier
|
import java.lang.reflect.Modifier
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlin.reflect.full.superclasses
|
import kotlin.reflect.full.superclasses
|
||||||
@@ -93,11 +94,15 @@ private fun readV1Config(element: Element): KotlinFacetSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Element.getFacetPlatformByConfigurationElement(): TargetPlatformKind<*> {
|
||||||
|
val platformName = getAttributeValue("platform")
|
||||||
|
return TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM
|
||||||
|
}
|
||||||
|
|
||||||
private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings {
|
private fun readV2AndLaterConfig(element: Element): KotlinFacetSettings {
|
||||||
return KotlinFacetSettings().apply {
|
return KotlinFacetSettings().apply {
|
||||||
element.getAttributeValue("useProjectSettings")?.let { useProjectSettings = it.toBoolean() }
|
element.getAttributeValue("useProjectSettings")?.let { useProjectSettings = it.toBoolean() }
|
||||||
val platformName = element.getAttributeValue("platform")
|
val platformKind = element.getFacetPlatformByConfigurationElement()
|
||||||
val platformKind = TargetPlatformKind.ALL_PLATFORMS.firstOrNull { it.description == platformName } ?: TargetPlatformKind.DEFAULT_PLATFORM
|
|
||||||
element.getChild("implements")?.let {
|
element.getChild("implements")?.let {
|
||||||
val items = it.getChildren("implement")
|
val items = it.getChildren("implement")
|
||||||
implementedModuleNames = if (items.isNotEmpty()) {
|
implementedModuleNames = if (items.isNotEmpty()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user