diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index 43ad43af414..56b9c2a6789 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.platform.impl.FakeK2NativeCompilerArguments import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind import org.jetbrains.kotlin.platform.js.isJs import org.jetbrains.kotlin.platform.jvm.JdkPlatform +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.platform.konan.* import java.lang.reflect.Modifier @@ -113,7 +114,7 @@ fun Element.getFacetPlatformByConfigurationElement(): TargetPlatform { getAttributeValue("allPlatforms").deserializeTargetPlatformByComponentPlatforms()?.let { return it } // failed to read list of all platforms. Fallback to legacy algorithm - val platformName = getAttributeValue("platform") ?: return DefaultIdeTargetPlatformKindProvider.defaultPlatform + val platformName = getAttributeValue("platform") ?: return JvmPlatforms.defaultJvmPlatform return CommonPlatforms.allSimplePlatforms.firstOrNull { // first, look for exact match through all simple platforms @@ -124,7 +125,7 @@ fun Element.getFacetPlatformByConfigurationElement(): TargetPlatform { } ?: NativePlatforms.unspecifiedNativePlatform.takeIf { // if none of the above succeeded, check if it's an old-style record about native platform (without suffix with target name) it.oldFashionedDescription.startsWith(platformName) - }.orDefault() // finally, fallback to the default platform + } ?: JvmPlatforms.defaultJvmPlatform // finally, fallback to the default platform } private fun readV2AndLaterConfig( diff --git a/jps/jps-common/src/org/jetbrains/kotlin/platform/DefaultIdeTargetPlatformKindProvider.kt b/jps/jps-common/src/org/jetbrains/kotlin/platform/DefaultIdeTargetPlatformKindProvider.kt deleted file mode 100644 index ecac80e15c2..00000000000 --- a/jps/jps-common/src/org/jetbrains/kotlin/platform/DefaultIdeTargetPlatformKindProvider.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.platform - -import org.jetbrains.kotlin.config.APPLICATION_MANAGER_CLASS_NAME -import org.jetbrains.kotlin.config.isJps -import org.jetbrains.kotlin.platform.jvm.JvmPlatforms - -interface DefaultIdeTargetPlatformKindProvider { - val defaultPlatform: TargetPlatform - - companion object { - val defaultPlatform: TargetPlatform - get() { - if (isJps) { - // TODO support passing custom platforms in JPS - return JvmPlatforms.defaultJvmPlatform - } - - val application = Class.forName(APPLICATION_MANAGER_CLASS_NAME).getMethod("getApplication").invoke(null) - val service = application::class.java.getMethod("getService", Class::class.java) - .invoke(application, DefaultIdeTargetPlatformKindProvider::class.java) as DefaultIdeTargetPlatformKindProvider - return service.defaultPlatform - } - } -} - -fun TargetPlatform?.orDefault(): TargetPlatform { - return this ?: DefaultIdeTargetPlatformKindProvider.defaultPlatform -} - -fun IdePlatformKind?.orDefault(): IdePlatformKind { - return this ?: DefaultIdeTargetPlatformKindProvider.defaultPlatform.idePlatformKind -} \ No newline at end of file diff --git a/jps/jps-common/src/org/jetbrains/kotlin/platform/impl/IdeaDefaultIdeTargetPlatformKindProvider.kt b/jps/jps-common/src/org/jetbrains/kotlin/platform/impl/IdeaDefaultIdeTargetPlatformKindProvider.kt deleted file mode 100644 index b59c2f974dc..00000000000 --- a/jps/jps-common/src/org/jetbrains/kotlin/platform/impl/IdeaDefaultIdeTargetPlatformKindProvider.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.platform.impl - -import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider - -class IdeaDefaultIdeTargetPlatformKindProvider private constructor() : DefaultIdeTargetPlatformKindProvider { - override val defaultPlatform = JvmIdePlatformKind.defaultPlatform -} \ No newline at end of file diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 55f68956764..0cb5385ac30 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -54,7 +54,7 @@ import org.jetbrains.kotlin.jps.targets.KotlinModuleBuildTarget import org.jetbrains.kotlin.platform.idePlatformKind import org.jetbrains.kotlin.platform.impl.isJavaScript import org.jetbrains.kotlin.platform.impl.isJvm -import org.jetbrains.kotlin.platform.orDefault +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.utils.Printer import java.io.ByteArrayInputStream @@ -483,7 +483,8 @@ abstract class AbstractIncrementalJpsTest( private fun configureRequiredLibraries() { myProject.modules.forEach { module -> - val platformKind = module.kotlinFacet?.settings?.targetPlatform?.idePlatformKind.orDefault() + val platformKind = module.kotlinFacet?.settings?.targetPlatform?.idePlatformKind + ?: JvmPlatforms.defaultJvmPlatform.idePlatformKind when { platformKind.isJvm -> { diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinTargetsIndex.kt b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinTargetsIndex.kt index ae9c62d1bed..2c8607dcd85 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinTargetsIndex.kt +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/jps/targets/KotlinTargetsIndex.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.jps.build.KotlinChunk import org.jetbrains.kotlin.jps.build.KotlinCompileContext import org.jetbrains.kotlin.jps.build.ModuleBuildTarget import org.jetbrains.kotlin.jps.model.platform -import org.jetbrains.kotlin.platform.DefaultIdeTargetPlatformKindProvider +import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.platform.idePlatformKind import org.jetbrains.kotlin.platform.impl.isCommon import org.jetbrains.kotlin.platform.impl.isJavaScript @@ -68,7 +68,7 @@ internal class KotlinTargetsIndexBuilder internal constructor( private fun ensureLoaded(target: ModuleBuildTarget): KotlinModuleBuildTarget<*> { return byJpsModuleBuildTarget.computeIfAbsent(target) { - val platform = target.module.platform?.idePlatformKind ?: DefaultIdeTargetPlatformKindProvider.defaultPlatform.idePlatformKind + val platform = target.module.platform?.idePlatformKind ?: JvmPlatforms.defaultJvmPlatform.idePlatformKind when { platform.isCommon -> KotlinCommonModuleBuildTarget(uninitializedContext, target)