Revert "[Gradle/MPP] Refactored KotlinTargetContainerWithPresetFunctions"
This reverts commit becf50ee
These changes are binary incompatible due to move of methods with
default arguments.
^KT-59049 In Progress
^KT-57903 In Progress
This commit is contained in:
committed by
Space Team
parent
0cfe2b04f5
commit
5a8b6e9603
+3
-3
@@ -19,7 +19,7 @@ private val presetsProperty = KotlinTargetsContainerWithPresets::presets.name
|
|||||||
|
|
||||||
private fun generateKotlinTargetContainerWithPresetFunctionsInterface() {
|
private fun generateKotlinTargetContainerWithPresetFunctionsInterface() {
|
||||||
// Generate KotlinMultiplatformExtension subclass with member functions for the presets:
|
// Generate KotlinMultiplatformExtension subclass with member functions for the presets:
|
||||||
val functions = nativePresetEntries.map { kotlinPreset ->
|
val functions = allPresetEntries.map { kotlinPreset ->
|
||||||
// magic indent is needed to make the result look pretty
|
// magic indent is needed to make the result look pretty
|
||||||
val funPrefix = kotlinPreset.deprecation?.let { "\n $it\n @Suppress(\"DEPRECATION_ERROR\")\n " } ?: ""
|
val funPrefix = kotlinPreset.deprecation?.let { "\n $it\n @Suppress(\"DEPRECATION_ERROR\")\n " } ?: ""
|
||||||
generatePresetFunctions(kotlinPreset, presetsProperty, "configureOrCreate", funPrefix)
|
generatePresetFunctions(kotlinPreset, presetsProperty, "configureOrCreate", funPrefix)
|
||||||
@@ -29,11 +29,11 @@ private fun generateKotlinTargetContainerWithPresetFunctionsInterface() {
|
|||||||
typeName(parentInterface.java.canonicalName)
|
typeName(parentInterface.java.canonicalName)
|
||||||
|
|
||||||
val className =
|
val className =
|
||||||
typeName("org.jetbrains.kotlin.gradle.dsl.KotlinTargetContainerWithNativePresetFunctions")
|
typeName("org.jetbrains.kotlin.gradle.dsl.KotlinTargetContainerWithPresetFunctions")
|
||||||
|
|
||||||
val deprecatedMessageVal = typeName("org.jetbrains.kotlin.konan.target.DEPRECATED_TARGET_MESSAGE")
|
val deprecatedMessageVal = typeName("org.jetbrains.kotlin.konan.target.DEPRECATED_TARGET_MESSAGE")
|
||||||
|
|
||||||
val imports = nativePresetEntries
|
val imports = allPresetEntries
|
||||||
.flatMap { it.typeNames() }
|
.flatMap { it.typeNames() }
|
||||||
.plus(parentInterfaceName)
|
.plus(parentInterfaceName)
|
||||||
.plus(deprecatedMessageVal)
|
.plus(deprecatedMessageVal)
|
||||||
|
|||||||
+17
@@ -36,6 +36,18 @@ internal object NativeFQNames {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val jvmPresetEntry = KotlinPresetEntry(
|
||||||
|
"jvm",
|
||||||
|
typeName("$MPP_PACKAGE.KotlinJvmTargetPreset"),
|
||||||
|
typeName("org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget")
|
||||||
|
)
|
||||||
|
|
||||||
|
internal val androidPresetEntry = KotlinPresetEntry(
|
||||||
|
"android",
|
||||||
|
typeName("$MPP_PACKAGE.KotlinAndroidTargetPreset"),
|
||||||
|
typeName("$MPP_PACKAGE.KotlinAndroidTarget")
|
||||||
|
)
|
||||||
|
|
||||||
// Note: modifying these sets should also be reflected in the MPP plugin code, see 'setupDefaultPresets'
|
// Note: modifying these sets should also be reflected in the MPP plugin code, see 'setupDefaultPresets'
|
||||||
private val nativeTargetsWithHostTests =
|
private val nativeTargetsWithHostTests =
|
||||||
setOf(KonanTarget.LINUX_X64, KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64, KonanTarget.MINGW_X64)
|
setOf(KonanTarget.LINUX_X64, KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64, KonanTarget.MINGW_X64)
|
||||||
@@ -67,3 +79,8 @@ internal val nativePresetEntries = HostManager().targets
|
|||||||
|
|
||||||
KotlinPresetEntry(target.presetName, typeName(presetType), typeName(targetType), deprecation)
|
KotlinPresetEntry(target.presetName, typeName(presetType), typeName(targetType), deprecation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val allPresetEntries = listOf(
|
||||||
|
jvmPresetEntry,
|
||||||
|
androidPresetEntry
|
||||||
|
) + nativePresetEntries
|
||||||
|
|||||||
+2
-7
@@ -16,16 +16,11 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.KotlinTargetHierarchyDslImpl
|
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.KotlinTargetHierarchyDslImpl
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
interface KotlinTargetContainerWithPresetFunctions :
|
|
||||||
KotlinTargetContainerWithJvmPresetFunctions,
|
|
||||||
KotlinTargetContainerWithAndroidPresetFunctions,
|
|
||||||
KotlinTargetContainerWithNativePresetFunctions,
|
|
||||||
KotlinTargetContainerWithJsPresetFunctions,
|
|
||||||
KotlinTargetContainerWithWasmPresetFunctions
|
|
||||||
|
|
||||||
abstract class KotlinMultiplatformExtension(project: Project) :
|
abstract class KotlinMultiplatformExtension(project: Project) :
|
||||||
KotlinProjectExtension(project),
|
KotlinProjectExtension(project),
|
||||||
KotlinTargetContainerWithPresetFunctions,
|
KotlinTargetContainerWithPresetFunctions,
|
||||||
|
KotlinTargetContainerWithJsPresetFunctions,
|
||||||
|
KotlinTargetContainerWithWasmPresetFunctions,
|
||||||
KotlinTargetContainerWithNativeShortcuts {
|
KotlinTargetContainerWithNativeShortcuts {
|
||||||
override val presets: NamedDomainObjectCollection<KotlinTargetPreset<*>> = project.container(KotlinTargetPreset::class.java)
|
override val presets: NamedDomainObjectCollection<KotlinTargetPreset<*>> = project.container(KotlinTargetPreset::class.java)
|
||||||
|
|
||||||
|
|||||||
-55
@@ -1,55 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2023 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.gradle.dsl
|
|
||||||
|
|
||||||
import org.gradle.api.Action
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainerWithPresets
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTargetPreset
|
|
||||||
|
|
||||||
private const val ANDROID_TARGET_MIGRATION_MESSAGE = "Please use androidTarget() instead. Learn more here: https://kotl.in/android-target-dsl"
|
|
||||||
|
|
||||||
interface KotlinTargetContainerWithAndroidPresetFunctions : KotlinTargetsContainerWithPresets {
|
|
||||||
|
|
||||||
fun androidTarget(
|
|
||||||
name: String = "android",
|
|
||||||
configure: KotlinAndroidTarget.() -> Unit = { }
|
|
||||||
): KotlinAndroidTarget =
|
|
||||||
configureOrCreate(
|
|
||||||
name,
|
|
||||||
presets.getByName("android") as KotlinAndroidTargetPreset,
|
|
||||||
configure
|
|
||||||
)
|
|
||||||
|
|
||||||
fun androidTarget() = androidTarget("android") { }
|
|
||||||
fun androidTarget(name: String) = androidTarget(name) { }
|
|
||||||
fun androidTarget(name: String, configure: Action<KotlinAndroidTarget>) = androidTarget(name) { configure.execute(this) }
|
|
||||||
fun androidTarget(configure: Action<KotlinAndroidTarget>) = androidTarget { configure.execute(this) }
|
|
||||||
|
|
||||||
@Deprecated(ANDROID_TARGET_MIGRATION_MESSAGE)
|
|
||||||
fun android(
|
|
||||||
name: String = "android",
|
|
||||||
configure: KotlinAndroidTarget.() -> Unit = { }
|
|
||||||
): KotlinAndroidTarget =
|
|
||||||
configureOrCreateAndroidTargetAndReportDeprecation(name, configure)
|
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
@Deprecated(ANDROID_TARGET_MIGRATION_MESSAGE, replaceWith = ReplaceWith("androidTarget()"))
|
|
||||||
fun android() = android("android") { }
|
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
@Deprecated(ANDROID_TARGET_MIGRATION_MESSAGE, replaceWith = ReplaceWith("androidTarget(name)"))
|
|
||||||
fun android(name: String) = android(name) { }
|
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
@Deprecated(ANDROID_TARGET_MIGRATION_MESSAGE)
|
|
||||||
fun android(name: String, configure: Action<KotlinAndroidTarget>) = android(name) { configure.execute(this) }
|
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
|
||||||
@Deprecated(ANDROID_TARGET_MIGRATION_MESSAGE)
|
|
||||||
fun android(configure: Action<KotlinAndroidTarget>) = android { configure.execute(this) }
|
|
||||||
|
|
||||||
}
|
|
||||||
+1
-1
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
|||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
|
|
||||||
interface KotlinTargetContainerWithJsPresetFunctions :
|
interface KotlinTargetContainerWithJsPresetFunctions :
|
||||||
KotlinTargetsContainerWithPresets,
|
KotlinTargetContainerWithPresetFunctions,
|
||||||
KotlinJsCompilerTypeHolder {
|
KotlinJsCompilerTypeHolder {
|
||||||
fun js(
|
fun js(
|
||||||
name: String = "js",
|
name: String = "js",
|
||||||
|
|||||||
-30
@@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-2023 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.gradle.dsl
|
|
||||||
|
|
||||||
import org.gradle.api.Action
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainerWithPresets
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmTargetPreset
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
|
||||||
|
|
||||||
interface KotlinTargetContainerWithJvmPresetFunctions : KotlinTargetsContainerWithPresets {
|
|
||||||
|
|
||||||
fun jvm(
|
|
||||||
name: String = "jvm",
|
|
||||||
configure: KotlinJvmTarget.() -> Unit = { }
|
|
||||||
): KotlinJvmTarget =
|
|
||||||
configureOrCreate(
|
|
||||||
name,
|
|
||||||
presets.getByName("jvm") as KotlinJvmTargetPreset,
|
|
||||||
configure
|
|
||||||
)
|
|
||||||
|
|
||||||
fun jvm() = jvm("jvm") { }
|
|
||||||
fun jvm(name: String) = jvm(name) { }
|
|
||||||
fun jvm(name: String, configure: Action<KotlinJvmTarget>) = jvm(name) { configure.execute(this) }
|
|
||||||
fun jvm(configure: Action<KotlinJvmTarget>) = jvm { configure.execute(this) }
|
|
||||||
|
|
||||||
}
|
|
||||||
+35
-1
@@ -2,17 +2,51 @@ package org.jetbrains.kotlin.gradle.dsl
|
|||||||
|
|
||||||
import org.gradle.api.Action
|
import org.gradle.api.Action
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainerWithPresets
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainerWithPresets
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTargetPreset
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmTargetPreset
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetPreset
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTestsPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTestsPreset
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTests
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTests
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTestsPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithSimulatorTestsPreset
|
||||||
|
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
|
||||||
import org.jetbrains.kotlin.konan.target.DEPRECATED_TARGET_MESSAGE
|
import org.jetbrains.kotlin.konan.target.DEPRECATED_TARGET_MESSAGE
|
||||||
|
|
||||||
// DO NOT EDIT MANUALLY! Generated by org.jetbrains.kotlin.generators.gradle.dsl.MppPresetFunctionsCodegenKt
|
// DO NOT EDIT MANUALLY! Generated by org.jetbrains.kotlin.generators.gradle.dsl.MppPresetFunctionsCodegenKt
|
||||||
|
|
||||||
interface KotlinTargetContainerWithNativePresetFunctions : KotlinTargetsContainerWithPresets {
|
interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithPresets {
|
||||||
|
|
||||||
|
fun jvm(
|
||||||
|
name: String = "jvm",
|
||||||
|
configure: KotlinJvmTarget.() -> Unit = { }
|
||||||
|
): KotlinJvmTarget =
|
||||||
|
configureOrCreate(
|
||||||
|
name,
|
||||||
|
presets.getByName("jvm") as KotlinJvmTargetPreset,
|
||||||
|
configure
|
||||||
|
)
|
||||||
|
|
||||||
|
fun jvm() = jvm("jvm") { }
|
||||||
|
fun jvm(name: String) = jvm(name) { }
|
||||||
|
fun jvm(name: String, configure: Action<KotlinJvmTarget>) = jvm(name) { configure.execute(this) }
|
||||||
|
fun jvm(configure: Action<KotlinJvmTarget>) = jvm { configure.execute(this) }
|
||||||
|
|
||||||
|
fun android(
|
||||||
|
name: String = "android",
|
||||||
|
configure: KotlinAndroidTarget.() -> Unit = { }
|
||||||
|
): KotlinAndroidTarget =
|
||||||
|
configureOrCreate(
|
||||||
|
name,
|
||||||
|
presets.getByName("android") as KotlinAndroidTargetPreset,
|
||||||
|
configure
|
||||||
|
)
|
||||||
|
|
||||||
|
fun android() = android("android") { }
|
||||||
|
fun android(name: String) = android(name) { }
|
||||||
|
fun android(name: String, configure: Action<KotlinAndroidTarget>) = android(name) { configure.execute(this) }
|
||||||
|
fun android(configure: Action<KotlinAndroidTarget>) = android { configure.execute(this) }
|
||||||
|
|
||||||
fun androidNativeX64(
|
fun androidNativeX64(
|
||||||
name: String = "androidNativeX64",
|
name: String = "androidNativeX64",
|
||||||
+1
-2
@@ -6,13 +6,12 @@
|
|||||||
package org.jetbrains.kotlin.gradle.dsl
|
package org.jetbrains.kotlin.gradle.dsl
|
||||||
|
|
||||||
import org.gradle.api.Action
|
import org.gradle.api.Action
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetsContainerWithPresets
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmTargetDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinWasmTargetDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
|
||||||
|
|
||||||
interface KotlinTargetContainerWithWasmPresetFunctions : KotlinTargetsContainerWithPresets {
|
interface KotlinTargetContainerWithWasmPresetFunctions : KotlinTargetContainerWithPresetFunctions {
|
||||||
@ExperimentalWasmDsl
|
@ExperimentalWasmDsl
|
||||||
fun wasm(
|
fun wasm(
|
||||||
name: String = "wasm",
|
name: String = "wasm",
|
||||||
|
|||||||
Reference in New Issue
Block a user