[Gradle] KotlinTargetHierarchyBuilder: Use any prefix for target functions

... to disambiguate with target preset functions

KT-55218
This commit is contained in:
Sebastian Sellmair
2022-12-01 14:06:15 +01:00
committed by Space Team
parent 9a69c1dd35
commit 8bea195d68
7 changed files with 68 additions and 66 deletions
@@ -30,33 +30,33 @@ interface KotlinTargetHierarchyBuilder {
fun anyJs()
/* Actual targets */
fun jvm()
fun android()
fun androidNativeX64()
fun androidNativeX86()
fun androidNativeArm32()
fun androidNativeArm64()
fun iosArm32()
fun iosArm64()
fun iosX64()
fun iosSimulatorArm64()
fun watchosArm32()
fun watchosArm64()
fun watchosX86()
fun watchosX64()
fun watchosSimulatorArm64()
fun watchosDeviceArm64()
fun tvosArm64()
fun tvosX64()
fun tvosSimulatorArm64()
fun linuxX64()
fun mingwX86()
fun mingwX64()
fun macosX64()
fun macosArm64()
fun linuxArm64()
fun linuxArm32Hfp()
fun linuxMips32()
fun linuxMipsel32()
fun wasm32()
fun anyJvm()
fun anyAndroid()
fun anyAndroidNativeX64()
fun anyAndroidNativeX86()
fun anyAndroidNativeArm32()
fun anyAndroidNativeArm64()
fun anyIosArm32()
fun anyIosArm64()
fun anyIosX64()
fun anyIosSimulatorArm64()
fun anyWatchosArm32()
fun anyWatchosArm64()
fun anyWatchosX86()
fun anyWatchosX64()
fun anyWatchosSimulatorArm64()
fun anyWatchosDeviceArm64()
fun anyTvosArm64()
fun anyTvosX64()
fun anyTvosSimulatorArm64()
fun anyLinuxX64()
fun anyMingwX86()
fun anyMingwX64()
fun anyMacosX64()
fun anyMacosArm64()
fun anyLinuxArm64()
fun anyLinuxArm32Hfp()
fun anyLinuxMips32()
fun anyLinuxMipsel32()
fun anyWasm32()
}
@@ -11,7 +11,7 @@ kotlin {
targetHierarchy.default {
common {
group("concurrent") {
jvm()
anyJvm()
group("native") {
group("appleAndLinux") {
@@ -118,7 +118,7 @@ private class KotlinTargetHierarchyBuilderImpl(
override fun anyJs() = addTargets { it is KotlinJsTargetDsl }
override fun jvm() = addTargets {
override fun anyJvm() = addTargets {
it is KotlinJvmTarget ||
/*
Handle older KotlinWithJavaTarget correctly:
@@ -128,113 +128,113 @@ private class KotlinTargetHierarchyBuilderImpl(
(it is KotlinWithJavaTarget<*, *> && it.platformType == KotlinPlatformType.jvm)
}
override fun android() = addTargets { it is KotlinAndroidTarget }
override fun anyAndroid() = addTargets { it is KotlinAndroidTarget }
override fun androidNativeX64() = addTargets {
override fun anyAndroidNativeX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.ANDROID_X64
}
override fun androidNativeX86() = addTargets {
override fun anyAndroidNativeX86() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.ANDROID_X86
}
override fun androidNativeArm32() = addTargets {
override fun anyAndroidNativeArm32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.ANDROID_X86
}
override fun androidNativeArm64() = addTargets {
override fun anyAndroidNativeArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.ANDROID_ARM64
}
override fun iosArm32() = addTargets {
override fun anyIosArm32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.IOS_ARM32
}
override fun iosArm64() = addTargets {
override fun anyIosArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.IOS_ARM64
}
override fun iosX64() = addTargets {
override fun anyIosX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.IOS_X64
}
override fun iosSimulatorArm64() = addTargets {
override fun anyIosSimulatorArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.IOS_SIMULATOR_ARM64
}
override fun watchosArm32() = addTargets {
override fun anyWatchosArm32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_ARM32
}
override fun watchosArm64() = addTargets {
override fun anyWatchosArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_ARM64
}
override fun watchosX86() = addTargets {
override fun anyWatchosX86() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_X86
}
override fun watchosX64() = addTargets {
override fun anyWatchosX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_X64
}
override fun watchosSimulatorArm64() = addTargets {
override fun anyWatchosSimulatorArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_SIMULATOR_ARM64
}
override fun watchosDeviceArm64() = addTargets {
override fun anyWatchosDeviceArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WATCHOS_DEVICE_ARM64
}
override fun tvosArm64() = addTargets {
override fun anyTvosArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.TVOS_ARM64
}
override fun tvosX64() = addTargets {
override fun anyTvosX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.TVOS_X64
}
override fun tvosSimulatorArm64() = addTargets {
override fun anyTvosSimulatorArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.TVOS_SIMULATOR_ARM64
}
override fun linuxX64() = addTargets {
override fun anyLinuxX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.LINUX_X64
}
override fun mingwX86() = addTargets {
override fun anyMingwX86() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.MINGW_X86
}
override fun mingwX64() = addTargets {
override fun anyMingwX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.MINGW_X64
}
override fun macosX64() = addTargets {
override fun anyMacosX64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.MACOS_X64
}
override fun macosArm64() = addTargets {
override fun anyMacosArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.MACOS_ARM64
}
override fun linuxArm64() = addTargets {
override fun anyLinuxArm64() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.LINUX_ARM64
}
override fun linuxArm32Hfp() = addTargets {
override fun anyLinuxArm32Hfp() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.LINUX_ARM32_HFP
}
override fun linuxMips32() = addTargets {
override fun anyLinuxMips32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.LINUX_MIPS32
}
override fun linuxMipsel32() = addTargets {
override fun anyLinuxMipsel32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.LINUX_MIPSEL32
}
override fun wasm32() = addTargets {
override fun anyWasm32() = addTargets {
it is KotlinNativeTarget && it.konanTarget == KonanTarget.WASM32
}
@@ -66,7 +66,7 @@ class KotlinCompileTaskSourcesTest {
common {
group("jvmAndLinux") {
anyLinux()
jvm()
anyJvm()
}
}
}
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsTargetPreset
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmWithJavaTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
import org.junit.Test
import kotlin.test.fail
@@ -32,8 +33,9 @@ class KotlinTargetHierarchyBuilderTest {
// jvmWithJava is covered by the jvm() call
.filter { it !is KotlinJvmWithJavaTargetPreset }
.forEach { preset ->
if (kotlinTargetHierarchyBuilderInterface.declaredMethods.none { it.name == preset.name })
fail("${kotlinTargetHierarchyBuilderInterface.name}: Missing ${preset.name}() function")
val expectedFunctionName = "any${preset.name.capitalizeAsciiOnly()}"
if (kotlinTargetHierarchyBuilderInterface.declaredMethods.none { it.name == expectedFunctionName })
fail("${kotlinTargetHierarchyBuilderInterface.name}: Missing ${expectedFunctionName}() function")
}
}
}
@@ -204,7 +204,7 @@ class KotlinTargetHierarchyDslTest {
targetHierarchy.apply(descriptor) {
group("base") {
group("extension") {
linuxX64()
anyLinuxX64()
}
}
}
@@ -276,7 +276,7 @@ class KotlinTargetHierarchyDslTest {
group("newRoot") {
group("base") {
group("extension") {
linuxX64()
anyLinuxX64()
}
}
}
@@ -39,8 +39,8 @@ class IdeJvmAndAndroidPlatformDependencyResolverTest {
kotlin.targetHierarchy.custom {
common {
group("jvmAndAndroid") {
jvm()
android()
anyJvm()
anyAndroid()
}
}
}