Add Family.TVOS, Family.WATCHOS and KonanTarget.ANDROID_X86, KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_ARM32.
This commit is contained in:
committed by
Sergey Bogolepov
parent
5bd88f3191
commit
ac3864543c
+45
@@ -91,6 +91,21 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP
|
||||
fun androidNativeArm64(name: String, configure: Closure<*>) = androidNativeArm64(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun androidNativeArm64(configure: Closure<*>) = androidNativeArm64 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun androidNativeX86(
|
||||
name: String = "androidNativeX86",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
): KotlinNativeTarget =
|
||||
configureOrCreate(
|
||||
name,
|
||||
presets.getByName("androidNativeX86") as KotlinNativeTargetPreset,
|
||||
configure
|
||||
)
|
||||
|
||||
fun androidNativeX86() = androidNativeX86("androidNativeX86") { }
|
||||
fun androidNativeX86(name: String) = androidNativeX86(name) { }
|
||||
fun androidNativeX86(name: String, configure: Closure<*>) = androidNativeX86(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun androidNativeX86(configure: Closure<*>) = androidNativeX86 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun androidNativeX64(
|
||||
name: String = "androidNativeX64",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
@@ -151,6 +166,21 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP
|
||||
fun iosX64(name: String, configure: Closure<*>) = iosX64(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun iosX64(configure: Closure<*>) = iosX64 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun watchosArm32(
|
||||
name: String = "watchosArm32",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
): KotlinNativeTarget =
|
||||
configureOrCreate(
|
||||
name,
|
||||
presets.getByName("watchosArm32") as KotlinNativeTargetPreset,
|
||||
configure
|
||||
)
|
||||
|
||||
fun watchosArm32() = watchosArm32("watchosArm32") { }
|
||||
fun watchosArm32(name: String) = watchosArm32(name) { }
|
||||
fun watchosArm32(name: String, configure: Closure<*>) = watchosArm32(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun watchosArm32(configure: Closure<*>) = watchosArm32 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun watchosArm64(
|
||||
name: String = "watchosArm64",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
@@ -166,6 +196,21 @@ interface KotlinTargetContainerWithPresetFunctions : KotlinTargetsContainerWithP
|
||||
fun watchosArm64(name: String, configure: Closure<*>) = watchosArm64(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun watchosArm64(configure: Closure<*>) = watchosArm64 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun watchosX86(
|
||||
name: String = "watchosX86",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
): KotlinNativeTarget =
|
||||
configureOrCreate(
|
||||
name,
|
||||
presets.getByName("watchosX86") as KotlinNativeTargetPreset,
|
||||
configure
|
||||
)
|
||||
|
||||
fun watchosX86() = watchosX86("watchosX86") { }
|
||||
fun watchosX86(name: String) = watchosX86(name) { }
|
||||
fun watchosX86(name: String, configure: Closure<*>) = watchosX86(name) { ConfigureUtil.configure(configure, this) }
|
||||
fun watchosX86(configure: Closure<*>) = watchosX86 { ConfigureUtil.configure(configure, this) }
|
||||
|
||||
fun watchosX64(
|
||||
name: String = "watchosX64",
|
||||
configure: KotlinNativeTarget.() -> Unit = { }
|
||||
|
||||
+1
-1
@@ -57,7 +57,7 @@ enum class NativeOutputKind(
|
||||
description = "a framework"
|
||||
) {
|
||||
override fun availableFor(target: KonanTarget) =
|
||||
target.family == Family.OSX || target.family == Family.IOS
|
||||
target.family.isAppleFamily
|
||||
};
|
||||
|
||||
open fun availableFor(target: KonanTarget) = true
|
||||
|
||||
+9
-4
@@ -47,7 +47,7 @@ open class KotlinCocoapodsPlugin: Plugin<Project> {
|
||||
|
||||
private fun KotlinMultiplatformExtension.supportedTargets() = targets
|
||||
.withType(KotlinNativeTarget::class.java)
|
||||
.matching { it.konanTarget.family == Family.IOS || it.konanTarget.family == Family.OSX }
|
||||
.matching { it.konanTarget.family.isAppleFamily }
|
||||
|
||||
/**
|
||||
* Splits a string using a whitespace characters as delimiters.
|
||||
@@ -133,9 +133,14 @@ open class KotlinCocoapodsPlugin: Plugin<Project> {
|
||||
val requestedBuildType = project.findProperty(CONFIGURATION_PROPERTY)?.toString()?.toUpperCase() ?: return@whenEvaluated
|
||||
|
||||
if (requestedTargetName == KOTLIN_TARGET_FOR_DEVICE) {
|
||||
// We create a fat framework only for device platforms: iosArm64, iosArm32, watchosArm64 and tvosArm64.
|
||||
val devicePlatforms = listOf(KonanTarget.IOS_ARM64, KonanTarget.IOS_ARM32,
|
||||
KonanTarget.WATCHOS_ARM64, KonanTarget.TVOS_ARM64)
|
||||
// We create a fat framework only for device platforms: iosArm64, iosArm32, watchosArm32, watchosArm64 and tvosArm64.
|
||||
val devicePlatforms = listOf(
|
||||
KonanTarget.IOS_ARM64,
|
||||
KonanTarget.IOS_ARM32,
|
||||
KonanTarget.WATCHOS_ARM32,
|
||||
KonanTarget.WATCHOS_ARM64,
|
||||
KonanTarget.TVOS_ARM64
|
||||
)
|
||||
val deviceTargets = devicePlatforms.flatMap { kotlinExtension.targetsForPlatform(it) }
|
||||
|
||||
if (deviceTargets.size == 1) {
|
||||
|
||||
+2
-2
@@ -170,8 +170,8 @@ open class FatFrameworkTask: DefaultTask() {
|
||||
KonanTarget.IOS_X64 -> "iPhoneSimulator"
|
||||
KonanTarget.TVOS_ARM64 -> "appletvos"
|
||||
KonanTarget.TVOS_X64 -> "appletvsimulator"
|
||||
KonanTarget.WATCHOS_ARM64 -> "watchos"
|
||||
KonanTarget.WATCHOS_X64 -> "watchsimulator"
|
||||
KonanTarget.WATCHOS_ARM32, KonanTarget.WATCHOS_ARM64 -> "watchos"
|
||||
KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_X64 -> "watchsimulator"
|
||||
else -> error("Fat frameworks are not supported for target `${target.konanTarget.visibleName}`")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user