[Compatibility] Restore KotlinProjectConfugirator.getTargetPlatform()
This commit is contained in:
+8
-5
@@ -26,6 +26,9 @@ class KotlinAndroidGradleModuleConfigurator internal constructor() : KotlinWithG
|
||||
|
||||
override val targetPlatform: TargetPlatform = JvmPlatforms.defaultJvmPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform(): org.jetbrains.kotlin.resolve.TargetPlatform = JvmPlatforms.CompatJvmPlatform
|
||||
|
||||
override val presentableText: String = "Android with Gradle"
|
||||
|
||||
public override fun isApplicable(module: Module): Boolean = module.getBuildSystemType() == AndroidGradle
|
||||
@@ -44,11 +47,11 @@ class KotlinAndroidGradleModuleConfigurator internal constructor() : KotlinWithG
|
||||
}
|
||||
else {
|
||||
manipulator.configureModuleBuildScript(
|
||||
kotlinPluginName,
|
||||
getKotlinPluginExpression(file.isKtDsl()),
|
||||
getStdlibArtifactName(sdk, version),
|
||||
version,
|
||||
jvmTarget
|
||||
kotlinPluginName,
|
||||
getKotlinPluginExpression(file.isKtDsl()),
|
||||
getStdlibArtifactName(sdk, version),
|
||||
version,
|
||||
jvmTarget
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -30,6 +30,9 @@ open class KotlinNativeGradleConfigurator : KotlinWithGradleConfigurator() {
|
||||
|
||||
override val targetPlatform get() = KonanPlatforms.defaultKonanPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = KonanPlatforms.CompatKonanPlatform
|
||||
|
||||
override val presentableText get() = PRESENTABLE_TEXT
|
||||
|
||||
companion object {
|
||||
|
||||
+3
@@ -32,6 +32,9 @@ class KotlinGradleModuleConfigurator : KotlinWithGradleConfigurator() {
|
||||
override val targetPlatform: TargetPlatform
|
||||
get() = JvmPlatforms.defaultJvmPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JvmPlatforms.CompatJvmPlatform
|
||||
|
||||
override val presentableText: String
|
||||
get() = "Java with Gradle"
|
||||
|
||||
|
||||
+3
@@ -33,6 +33,9 @@ class KotlinJsGradleModuleConfigurator : KotlinWithGradleConfigurator() {
|
||||
override fun getMinimumSupportedVersion() = "1.1.0"
|
||||
override fun getStdlibArtifactName(sdk: Sdk?, version: String): String = MAVEN_JS_STDLIB_ID
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JsPlatforms.CompatJsPlatform
|
||||
|
||||
override fun addElementsToFile(file: PsiFile, isTopLevelProjectFile: Boolean, version: String): Boolean {
|
||||
val gradleVersion = fetchGradleVersion(file)
|
||||
|
||||
|
||||
@@ -32,6 +32,21 @@ fun NewPlatform.toOldPlatform(): OldPlatform = when (val single = singleOrNull()
|
||||
else -> error("Unknown platform $single")
|
||||
}
|
||||
|
||||
fun OldPlatform.toNewPlatform(): NewPlatform = when (this) {
|
||||
is CommonPlatforms.CompatCommonPlatform -> this
|
||||
is JvmPlatforms.CompatJvmPlatform -> this
|
||||
is JsPlatforms.CompatJsPlatform -> this
|
||||
is KonanPlatforms.CompatKonanPlatform -> this
|
||||
else -> error(
|
||||
"Can't convert org.jetbrains.kotlin.resolve.TargetPlatform to org.jetbrains.kotlin.platform.TargetPlatform: " +
|
||||
"non-Compat instance passed\n" +
|
||||
"toString: $this\n" +
|
||||
"class: ${this::class}\n" +
|
||||
"hashCode: ${this.hashCode().toString(16)}"
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
fun IdePlatform<*, *>.toNewPlatform(): NewPlatform = when (this) {
|
||||
is CommonIdePlatformKind.Platform -> CommonPlatforms.defaultCommonPlatform
|
||||
is JvmIdePlatformKind.Platform -> JvmPlatforms.jvmPlatformByTargetVersion(this.version)
|
||||
|
||||
+3
@@ -73,6 +73,9 @@ open class KotlinJavaModuleConfigurator protected constructor() : KotlinWithLibr
|
||||
override val targetPlatform: TargetPlatform
|
||||
get() = JvmPlatforms.defaultJvmPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JvmPlatforms.CompatJvmPlatform
|
||||
|
||||
override fun getLibraryJarDescriptors(sdk: Sdk?): List<LibraryJarDescriptor> {
|
||||
var result = listOf(
|
||||
LibraryJarDescriptor.RUNTIME_JAR,
|
||||
|
||||
+3
@@ -42,6 +42,9 @@ open class KotlinJsModuleConfigurator : KotlinWithLibraryConfigurator() {
|
||||
override val targetPlatform: TargetPlatform
|
||||
get() = JsPlatforms.defaultJsPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JsPlatforms.CompatJsPlatform
|
||||
|
||||
override val presentableText: String
|
||||
get() = JavaScript.FULL_NAME
|
||||
|
||||
|
||||
+17
@@ -25,6 +25,8 @@ import org.jetbrains.kotlin.config.ApiVersion
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.idea.versions.LibraryJarDescriptor
|
||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||
import org.jetbrains.kotlin.platform.compat.toNewPlatform
|
||||
import org.jetbrains.kotlin.platform.compat.toOldPlatform
|
||||
|
||||
enum class ConfigureKotlinStatus {
|
||||
/** Kotlin is correctly configured using this configurator. */
|
||||
@@ -50,7 +52,22 @@ interface KotlinProjectConfigurator {
|
||||
|
||||
val name: String
|
||||
|
||||
/*
|
||||
We have to provide default for newer 'targetPlatform.get()' through delegation to deprecated 'getTargetPlatform()',
|
||||
not the vice versa, to preserve binary compatibility with old inheritors which override only signature of 'getTargetPlatform'
|
||||
|
||||
New clients are encouraged to override both methods
|
||||
*/
|
||||
val targetPlatform: TargetPlatform
|
||||
get() = @Suppress("DEPRECATION_ERROR") getTargetPlatform().toNewPlatform()
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
@Deprecated(
|
||||
message = "This accessor is deprecated and will be removed soon, use API from 'org.jetbrains.kotlin.platform.*' packages instead",
|
||||
replaceWith = ReplaceWith("targetPlatform"),
|
||||
level = DeprecationLevel.ERROR
|
||||
)
|
||||
fun getTargetPlatform(): org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
|
||||
fun updateLanguageVersion(module: Module, languageVersion: String?, apiVersion: String?, requiredStdlibVersion: ApiVersion, forTests: Boolean)
|
||||
|
||||
|
||||
+3
@@ -70,6 +70,9 @@ class KotlinJavaMavenConfigurator : KotlinMavenConfigurator(
|
||||
override val targetPlatform: TargetPlatform
|
||||
get() = JvmPlatforms.defaultJvmPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JvmPlatforms.CompatJvmPlatform
|
||||
|
||||
companion object {
|
||||
private const val NAME = "maven"
|
||||
const val TEST_LIB_ID = "kotlin-test"
|
||||
|
||||
+3
@@ -45,6 +45,9 @@ class KotlinJavascriptMavenConfigurator :
|
||||
override val targetPlatform: TargetPlatform
|
||||
get() = JsPlatforms.defaultJsPlatform
|
||||
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
override fun getTargetPlatform() = JsPlatforms.CompatJsPlatform
|
||||
|
||||
override fun getMinimumSupportedVersion() = "1.1.0"
|
||||
|
||||
companion object {
|
||||
|
||||
Reference in New Issue
Block a user