[MPP, KPM]: Generate KpmNativeVariants from KonanTargets
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
import org.gradle.jvm.tasks.Jar
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm")
|
kotlin("jvm")
|
||||||
}
|
}
|
||||||
@@ -20,7 +18,12 @@ val generateAbstractBinaryContainer by generator(
|
|||||||
sourceSets["main"]
|
sourceSets["main"]
|
||||||
)
|
)
|
||||||
|
|
||||||
listOf(generateMppTargetContainerWithPresets, generateAbstractBinaryContainer).forEach {
|
val generateKpmNativeVariants by generator(
|
||||||
|
"org.jetbrains.kotlin.generators.gradle.dsl.KpmNativeVariantCodegenKt",
|
||||||
|
sourceSets["main"]
|
||||||
|
)
|
||||||
|
|
||||||
|
listOf(generateMppTargetContainerWithPresets, generateAbstractBinaryContainer, generateKpmNativeVariants).forEach {
|
||||||
it.systemProperty(
|
it.systemProperty(
|
||||||
"org.jetbrains.kotlin.generators.gradle.dsl.outputSourceRoot",
|
"org.jetbrains.kotlin.generators.gradle.dsl.outputSourceRoot",
|
||||||
project(":kotlin-gradle-plugin").projectDir.resolve("src/main/kotlin").absolutePath
|
project(":kotlin-gradle-plugin").projectDir.resolve("src/main/kotlin").absolutePath
|
||||||
|
|||||||
+13
-4
@@ -32,9 +32,18 @@ internal fun TypeName.renderErased(): String =
|
|||||||
internal fun TypeName.collectFqNames(): Set<String> =
|
internal fun TypeName.collectFqNames(): Set<String> =
|
||||||
setOf(fqName) + typeArguments.flatMap { it.collectFqNames() }.toSet()
|
setOf(fqName) + typeArguments.flatMap { it.collectFqNames() }.toSet()
|
||||||
|
|
||||||
internal fun String.indented(nSpaces: Int = 4): String {
|
/**
|
||||||
|
* @param skipFirstLine if true doesn't indent first line
|
||||||
|
*/
|
||||||
|
internal fun String.indented(nSpaces: Int = 4, skipFirstLine: Boolean = false): String {
|
||||||
val spaces = String(CharArray(nSpaces) { ' ' })
|
val spaces = String(CharArray(nSpaces) { ' ' })
|
||||||
return lines().joinToString("\n") {
|
|
||||||
if (it.isNotBlank()) "$spaces$it" else it
|
return lines()
|
||||||
}
|
.withIndex()
|
||||||
|
.joinToString(separator = "\n") { (index, line) ->
|
||||||
|
if (skipFirstLine && index == 0) return@joinToString line
|
||||||
|
if (line.isNotBlank()) "$spaces$line" else line
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal val outputSourceRoot get() = System.getProperties()["org.jetbrains.kotlin.generators.gradle.dsl.outputSourceRoot"] as String
|
||||||
+102
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2022 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@file:OptIn(ExperimentalPathApi::class)
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.generators.gradle.dsl
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
|
import org.jetbrains.kotlin.konan.target.presetName
|
||||||
|
import kotlin.io.path.ExperimentalPathApi
|
||||||
|
import kotlin.io.path.Path
|
||||||
|
import kotlin.io.path.writeText
|
||||||
|
|
||||||
|
fun main() {
|
||||||
|
generateKpmNativeVariantPresets()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun generateKpmNativeVariantPresets() {
|
||||||
|
val sourceCode = kpmNativeVariantsSourceCode()
|
||||||
|
Path(outputSourceRoot)
|
||||||
|
.resolve(packageName.replace(".", "/"))
|
||||||
|
.resolve(fileName)
|
||||||
|
.writeText(sourceCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun kpmNativeVariantsSourceCode() = """
|
||||||
|
package $packageName
|
||||||
|
|
||||||
|
import org.gradle.api.artifacts.Configuration
|
||||||
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
// DO NOT EDIT MANUALLY! Generated by ${object {}.javaClass.enclosingClass.name}
|
||||||
|
${variantClasses().indented(skipFirstLine = true)}
|
||||||
|
|
||||||
|
${allVariantConstructors().indented(skipFirstLine = true)}
|
||||||
|
|
||||||
|
${kpmVariantClassFunction().indented(skipFirstLine = true)}
|
||||||
|
""".trimIndent()
|
||||||
|
|
||||||
|
private val fileName = "KpmNativeVariants.kt"
|
||||||
|
|
||||||
|
private val packageName = "org.jetbrains.kotlin.gradle.plugin.mpp.pm20"
|
||||||
|
|
||||||
|
private fun allKonanTargets() = KonanTarget.predefinedTargets.values
|
||||||
|
|
||||||
|
private fun variantClasses() = allKonanTargets()
|
||||||
|
.map { variantClass(it) }
|
||||||
|
.joinToString("\n\n")
|
||||||
|
|
||||||
|
private fun variantClass(konanTarget: KonanTarget) = """
|
||||||
|
open class ${konanTarget.variantClassName} @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.${konanTarget.className},
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.${konanTarget.className}, ${konanTarget.variantClassName}::class.java, ::${konanTarget.variantClassName}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
|
|
||||||
|
private fun kpmVariantClassFunction(): String {
|
||||||
|
val konanTargetToVariant = allKonanTargets()
|
||||||
|
.joinToString("\n") { "KonanTarget.${it.className} -> ${it.variantClassName}::class.java" }
|
||||||
|
|
||||||
|
return """
|
||||||
|
internal fun kpmVariantClass(konanTarget: KonanTarget): Class<out KotlinNativeVariantInternal>? = when (konanTarget) {
|
||||||
|
${konanTargetToVariant.indented(nSpaces = 12, skipFirstLine = true)}
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun allVariantConstructors() = allKonanTargets()
|
||||||
|
.joinToString(
|
||||||
|
prefix = "internal val allKpmNativeVariantConstructors = listOf(\n",
|
||||||
|
separator = ",\n",
|
||||||
|
postfix = "\n)"
|
||||||
|
) { "${it.variantClassName}.constructor".indented() }
|
||||||
|
|
||||||
|
private val KonanTarget.variantClassName
|
||||||
|
get() = presetName
|
||||||
|
.capitalize()
|
||||||
|
.let { "Kotlin${it}Variant" }
|
||||||
|
|
||||||
|
private val KonanTarget.className get() = javaClass.simpleName
|
||||||
-1
@@ -201,7 +201,6 @@ fun generateAbstractKotlinNativeBinaryContainer() {
|
|||||||
"}"
|
"}"
|
||||||
).joinToString(separator = "\n\n")
|
).joinToString(separator = "\n\n")
|
||||||
|
|
||||||
val outputSourceRoot = System.getProperties()["org.jetbrains.kotlin.generators.gradle.dsl.outputSourceRoot"]
|
|
||||||
val targetFile = File("$outputSourceRoot/${className.fqName.replace(".", "/")}.kt")
|
val targetFile = File("$outputSourceRoot/${className.fqName.replace(".", "/")}.kt")
|
||||||
targetFile.writeText(code)
|
targetFile.writeText(code)
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -53,7 +53,6 @@ private fun generateKotlinTargetContainerWithPresetFunctionsInterface() {
|
|||||||
"}"
|
"}"
|
||||||
).joinToString("\n\n")
|
).joinToString("\n\n")
|
||||||
|
|
||||||
val outputSourceRoot = System.getProperties()["org.jetbrains.kotlin.generators.gradle.dsl.outputSourceRoot"]
|
|
||||||
val targetFile = File("$outputSourceRoot/${className.fqName.replace(".", "/")}.kt")
|
val targetFile = File("$outputSourceRoot/${className.fqName.replace(".", "/")}.kt")
|
||||||
targetFile.writeText(code)
|
targetFile.writeText(code)
|
||||||
}
|
}
|
||||||
|
|||||||
-116
@@ -72,122 +72,6 @@ class KotlinNativeVariantConstructor<T : KotlinNativeVariantInternal>(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME codegen
|
|
||||||
open class KotlinLinuxX64Variant @Inject constructor(
|
|
||||||
containingModule: KotlinGradleModule,
|
|
||||||
fragmentName: String,
|
|
||||||
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
|
||||||
compileDependencyConfiguration: Configuration,
|
|
||||||
apiElementsConfiguration: Configuration,
|
|
||||||
hostSpecificMetadataElementsConfiguration: Configuration?
|
|
||||||
) : KotlinNativeVariantInternal(
|
|
||||||
containingModule = containingModule,
|
|
||||||
fragmentName = fragmentName,
|
|
||||||
konanTarget = KonanTarget.LINUX_X64,
|
|
||||||
dependencyConfigurations = dependencyConfigurations,
|
|
||||||
compileDependencyConfiguration = compileDependencyConfiguration,
|
|
||||||
apiElementsConfiguration = apiElementsConfiguration,
|
|
||||||
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
|
||||||
) {
|
|
||||||
companion object {
|
|
||||||
val constructor = KotlinNativeVariantConstructor(
|
|
||||||
KonanTarget.LINUX_X64, KotlinLinuxX64Variant::class.java, ::KotlinLinuxX64Variant
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
open class KotlinMacosX64Variant @Inject constructor(
|
|
||||||
containingModule: KotlinGradleModule,
|
|
||||||
fragmentName: String,
|
|
||||||
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
|
||||||
compileDependencyConfiguration: Configuration,
|
|
||||||
apiElementsConfiguration: Configuration,
|
|
||||||
hostSpecificMetadataElementsConfiguration: Configuration?
|
|
||||||
) : KotlinNativeVariantInternal(
|
|
||||||
containingModule = containingModule,
|
|
||||||
fragmentName = fragmentName,
|
|
||||||
konanTarget = KonanTarget.MACOS_X64,
|
|
||||||
dependencyConfigurations = dependencyConfigurations,
|
|
||||||
compileDependencyConfiguration = compileDependencyConfiguration,
|
|
||||||
apiElementsConfiguration = apiElementsConfiguration,
|
|
||||||
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
|
||||||
) {
|
|
||||||
companion object {
|
|
||||||
val constructor = KotlinNativeVariantConstructor(
|
|
||||||
KonanTarget.MACOS_X64, KotlinMacosX64Variant::class.java, ::KotlinMacosX64Variant
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
open class KotlinMacosArm64Variant @Inject constructor(
|
|
||||||
containingModule: KotlinGradleModule, fragmentName: String,
|
|
||||||
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
|
||||||
compileDependencyConfiguration: Configuration,
|
|
||||||
apiElementsConfiguration: Configuration,
|
|
||||||
hostSpecificMetadataElementsConfiguration: Configuration?
|
|
||||||
) : KotlinNativeVariantInternal(
|
|
||||||
containingModule = containingModule,
|
|
||||||
fragmentName = fragmentName,
|
|
||||||
konanTarget = KonanTarget.MACOS_ARM64,
|
|
||||||
dependencyConfigurations = dependencyConfigurations,
|
|
||||||
compileDependencyConfiguration = compileDependencyConfiguration,
|
|
||||||
apiElementsConfiguration = apiElementsConfiguration,
|
|
||||||
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
|
||||||
) {
|
|
||||||
companion object {
|
|
||||||
val constructor = KotlinNativeVariantConstructor(
|
|
||||||
KonanTarget.MACOS_ARM64, KotlinMacosArm64Variant::class.java, ::KotlinMacosArm64Variant
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
open class KotlinIosX64Variant @Inject constructor(
|
|
||||||
containingModule: KotlinGradleModule,
|
|
||||||
fragmentName: String,
|
|
||||||
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
|
||||||
compileDependencyConfiguration: Configuration,
|
|
||||||
apiElementsConfiguration: Configuration,
|
|
||||||
hostSpecificMetadataElementsConfiguration: Configuration?
|
|
||||||
) : KotlinNativeVariantInternal(
|
|
||||||
containingModule = containingModule,
|
|
||||||
fragmentName = fragmentName,
|
|
||||||
konanTarget = KonanTarget.IOS_X64,
|
|
||||||
dependencyConfigurations = dependencyConfigurations,
|
|
||||||
compileDependencyConfiguration = compileDependencyConfiguration,
|
|
||||||
apiElementsConfiguration = apiElementsConfiguration,
|
|
||||||
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
|
||||||
) {
|
|
||||||
companion object {
|
|
||||||
val constructor = KotlinNativeVariantConstructor(
|
|
||||||
KonanTarget.IOS_X64, KotlinIosX64Variant::class.java, ::KotlinIosX64Variant
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
open class KotlinIosArm64Variant @Inject constructor(
|
|
||||||
containingModule: KotlinGradleModule,
|
|
||||||
fragmentName: String,
|
|
||||||
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
|
||||||
compileDependencyConfiguration: Configuration,
|
|
||||||
apiElementsConfiguration: Configuration,
|
|
||||||
hostSpecificMetadataElementsConfiguration: Configuration?
|
|
||||||
) : KotlinNativeVariantInternal(
|
|
||||||
containingModule = containingModule,
|
|
||||||
fragmentName = fragmentName,
|
|
||||||
konanTarget = KonanTarget.IOS_ARM64,
|
|
||||||
dependencyConfigurations = dependencyConfigurations,
|
|
||||||
compileDependencyConfiguration = compileDependencyConfiguration,
|
|
||||||
apiElementsConfiguration = apiElementsConfiguration,
|
|
||||||
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
|
||||||
) {
|
|
||||||
companion object {
|
|
||||||
val constructor = KotlinNativeVariantConstructor(
|
|
||||||
KonanTarget.IOS_ARM64, KotlinIosArm64Variant::class.java, ::KotlinIosArm64Variant
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
interface KotlinNativeCompilationData<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
interface KotlinNativeCompilationData<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
||||||
val konanTarget: KonanTarget
|
val konanTarget: KonanTarget
|
||||||
val enableEndorsedLibs: Boolean
|
val enableEndorsedLibs: Boolean
|
||||||
|
|||||||
+663
@@ -0,0 +1,663 @@
|
|||||||
|
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||||
|
|
||||||
|
import org.gradle.api.artifacts.Configuration
|
||||||
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
// DO NOT EDIT MANUALLY! Generated by org.jetbrains.kotlin.generators.gradle.dsl.KpmNativeVariantCodegenKt
|
||||||
|
open class KotlinAndroidNativeX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.ANDROID_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.ANDROID_X64, KotlinAndroidNativeX64Variant::class.java, ::KotlinAndroidNativeX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinAndroidNativeX86Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.ANDROID_X86,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.ANDROID_X86, KotlinAndroidNativeX86Variant::class.java, ::KotlinAndroidNativeX86Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinAndroidNativeArm32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.ANDROID_ARM32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.ANDROID_ARM32, KotlinAndroidNativeArm32Variant::class.java, ::KotlinAndroidNativeArm32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinAndroidNativeArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.ANDROID_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.ANDROID_ARM64, KotlinAndroidNativeArm64Variant::class.java, ::KotlinAndroidNativeArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinIosArm32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.IOS_ARM32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.IOS_ARM32, KotlinIosArm32Variant::class.java, ::KotlinIosArm32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinIosArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.IOS_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.IOS_ARM64, KotlinIosArm64Variant::class.java, ::KotlinIosArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinIosX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.IOS_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.IOS_X64, KotlinIosX64Variant::class.java, ::KotlinIosX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinIosSimulatorArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.IOS_SIMULATOR_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.IOS_SIMULATOR_ARM64, KotlinIosSimulatorArm64Variant::class.java, ::KotlinIosSimulatorArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWatchosArm32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WATCHOS_ARM32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WATCHOS_ARM32, KotlinWatchosArm32Variant::class.java, ::KotlinWatchosArm32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWatchosArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WATCHOS_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WATCHOS_ARM64, KotlinWatchosArm64Variant::class.java, ::KotlinWatchosArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWatchosX86Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WATCHOS_X86,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WATCHOS_X86, KotlinWatchosX86Variant::class.java, ::KotlinWatchosX86Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWatchosX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WATCHOS_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WATCHOS_X64, KotlinWatchosX64Variant::class.java, ::KotlinWatchosX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWatchosSimulatorArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WATCHOS_SIMULATOR_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WATCHOS_SIMULATOR_ARM64, KotlinWatchosSimulatorArm64Variant::class.java, ::KotlinWatchosSimulatorArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinTvosArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.TVOS_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.TVOS_ARM64, KotlinTvosArm64Variant::class.java, ::KotlinTvosArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinTvosX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.TVOS_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.TVOS_X64, KotlinTvosX64Variant::class.java, ::KotlinTvosX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinTvosSimulatorArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.TVOS_SIMULATOR_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.TVOS_SIMULATOR_ARM64, KotlinTvosSimulatorArm64Variant::class.java, ::KotlinTvosSimulatorArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinLinuxX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.LINUX_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.LINUX_X64, KotlinLinuxX64Variant::class.java, ::KotlinLinuxX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinMingwX86Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.MINGW_X86,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.MINGW_X86, KotlinMingwX86Variant::class.java, ::KotlinMingwX86Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinMingwX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.MINGW_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.MINGW_X64, KotlinMingwX64Variant::class.java, ::KotlinMingwX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinMacosX64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.MACOS_X64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.MACOS_X64, KotlinMacosX64Variant::class.java, ::KotlinMacosX64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinMacosArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.MACOS_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.MACOS_ARM64, KotlinMacosArm64Variant::class.java, ::KotlinMacosArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinLinuxArm64Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.LINUX_ARM64,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.LINUX_ARM64, KotlinLinuxArm64Variant::class.java, ::KotlinLinuxArm64Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinLinuxArm32HfpVariant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.LINUX_ARM32_HFP,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.LINUX_ARM32_HFP, KotlinLinuxArm32HfpVariant::class.java, ::KotlinLinuxArm32HfpVariant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinLinuxMips32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.LINUX_MIPS32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.LINUX_MIPS32, KotlinLinuxMips32Variant::class.java, ::KotlinLinuxMips32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinLinuxMipsel32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.LINUX_MIPSEL32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.LINUX_MIPSEL32, KotlinLinuxMipsel32Variant::class.java, ::KotlinLinuxMipsel32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open class KotlinWasm32Variant @Inject constructor(
|
||||||
|
containingModule: KotlinGradleModule,
|
||||||
|
fragmentName: String,
|
||||||
|
dependencyConfigurations: KotlinFragmentDependencyConfigurations,
|
||||||
|
compileDependencyConfiguration: Configuration,
|
||||||
|
apiElementsConfiguration: Configuration,
|
||||||
|
hostSpecificMetadataElementsConfiguration: Configuration?
|
||||||
|
) : KotlinNativeVariantInternal(
|
||||||
|
containingModule = containingModule,
|
||||||
|
fragmentName = fragmentName,
|
||||||
|
konanTarget = KonanTarget.WASM32,
|
||||||
|
dependencyConfigurations = dependencyConfigurations,
|
||||||
|
compileDependencyConfiguration = compileDependencyConfiguration,
|
||||||
|
apiElementsConfiguration = apiElementsConfiguration,
|
||||||
|
hostSpecificMetadataElementsConfiguration = hostSpecificMetadataElementsConfiguration
|
||||||
|
) {
|
||||||
|
companion object {
|
||||||
|
val constructor = KotlinNativeVariantConstructor(
|
||||||
|
KonanTarget.WASM32, KotlinWasm32Variant::class.java, ::KotlinWasm32Variant
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal val allKpmNativeVariantConstructors = listOf(
|
||||||
|
KotlinAndroidNativeX64Variant.constructor,
|
||||||
|
KotlinAndroidNativeX86Variant.constructor,
|
||||||
|
KotlinAndroidNativeArm32Variant.constructor,
|
||||||
|
KotlinAndroidNativeArm64Variant.constructor,
|
||||||
|
KotlinIosArm32Variant.constructor,
|
||||||
|
KotlinIosArm64Variant.constructor,
|
||||||
|
KotlinIosX64Variant.constructor,
|
||||||
|
KotlinIosSimulatorArm64Variant.constructor,
|
||||||
|
KotlinWatchosArm32Variant.constructor,
|
||||||
|
KotlinWatchosArm64Variant.constructor,
|
||||||
|
KotlinWatchosX86Variant.constructor,
|
||||||
|
KotlinWatchosX64Variant.constructor,
|
||||||
|
KotlinWatchosSimulatorArm64Variant.constructor,
|
||||||
|
KotlinTvosArm64Variant.constructor,
|
||||||
|
KotlinTvosX64Variant.constructor,
|
||||||
|
KotlinTvosSimulatorArm64Variant.constructor,
|
||||||
|
KotlinLinuxX64Variant.constructor,
|
||||||
|
KotlinMingwX86Variant.constructor,
|
||||||
|
KotlinMingwX64Variant.constructor,
|
||||||
|
KotlinMacosX64Variant.constructor,
|
||||||
|
KotlinMacosArm64Variant.constructor,
|
||||||
|
KotlinLinuxArm64Variant.constructor,
|
||||||
|
KotlinLinuxArm32HfpVariant.constructor,
|
||||||
|
KotlinLinuxMips32Variant.constructor,
|
||||||
|
KotlinLinuxMipsel32Variant.constructor,
|
||||||
|
KotlinWasm32Variant.constructor
|
||||||
|
)
|
||||||
|
|
||||||
|
internal fun kpmNativeVariantClass(konanTarget: KonanTarget): Class<out KotlinNativeVariantInternal>? = when (konanTarget) {
|
||||||
|
KonanTarget.ANDROID_X64 -> KotlinAndroidNativeX64Variant::class.java
|
||||||
|
KonanTarget.ANDROID_X86 -> KotlinAndroidNativeX86Variant::class.java
|
||||||
|
KonanTarget.ANDROID_ARM32 -> KotlinAndroidNativeArm32Variant::class.java
|
||||||
|
KonanTarget.ANDROID_ARM64 -> KotlinAndroidNativeArm64Variant::class.java
|
||||||
|
KonanTarget.IOS_ARM32 -> KotlinIosArm32Variant::class.java
|
||||||
|
KonanTarget.IOS_ARM64 -> KotlinIosArm64Variant::class.java
|
||||||
|
KonanTarget.IOS_X64 -> KotlinIosX64Variant::class.java
|
||||||
|
KonanTarget.IOS_SIMULATOR_ARM64 -> KotlinIosSimulatorArm64Variant::class.java
|
||||||
|
KonanTarget.WATCHOS_ARM32 -> KotlinWatchosArm32Variant::class.java
|
||||||
|
KonanTarget.WATCHOS_ARM64 -> KotlinWatchosArm64Variant::class.java
|
||||||
|
KonanTarget.WATCHOS_X86 -> KotlinWatchosX86Variant::class.java
|
||||||
|
KonanTarget.WATCHOS_X64 -> KotlinWatchosX64Variant::class.java
|
||||||
|
KonanTarget.WATCHOS_SIMULATOR_ARM64 -> KotlinWatchosSimulatorArm64Variant::class.java
|
||||||
|
KonanTarget.TVOS_ARM64 -> KotlinTvosArm64Variant::class.java
|
||||||
|
KonanTarget.TVOS_X64 -> KotlinTvosX64Variant::class.java
|
||||||
|
KonanTarget.TVOS_SIMULATOR_ARM64 -> KotlinTvosSimulatorArm64Variant::class.java
|
||||||
|
KonanTarget.LINUX_X64 -> KotlinLinuxX64Variant::class.java
|
||||||
|
KonanTarget.MINGW_X86 -> KotlinMingwX86Variant::class.java
|
||||||
|
KonanTarget.MINGW_X64 -> KotlinMingwX64Variant::class.java
|
||||||
|
KonanTarget.MACOS_X64 -> KotlinMacosX64Variant::class.java
|
||||||
|
KonanTarget.MACOS_ARM64 -> KotlinMacosArm64Variant::class.java
|
||||||
|
KonanTarget.LINUX_ARM64 -> KotlinLinuxArm64Variant::class.java
|
||||||
|
KonanTarget.LINUX_ARM32_HFP -> KotlinLinuxArm32HfpVariant::class.java
|
||||||
|
KonanTarget.LINUX_MIPS32 -> KotlinLinuxMips32Variant::class.java
|
||||||
|
KonanTarget.LINUX_MIPSEL32 -> KotlinLinuxMipsel32Variant::class.java
|
||||||
|
KonanTarget.WASM32 -> KotlinWasm32Variant::class.java
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
+1
-8
@@ -22,13 +22,6 @@ internal fun registerDefaultVariantFactories(project: Project) {
|
|||||||
constructor.variantClass, KotlinNativeVariantFactory(module, constructor)
|
constructor.variantClass, KotlinNativeVariantFactory(module, constructor)
|
||||||
)
|
)
|
||||||
|
|
||||||
listOf(
|
allKpmNativeVariantConstructors.forEach { constructor -> registerNativeVariantFactory(constructor) }
|
||||||
// FIXME codegen, add missing native targets
|
|
||||||
KotlinLinuxX64Variant.constructor,
|
|
||||||
KotlinMacosX64Variant.constructor,
|
|
||||||
KotlinMacosArm64Variant.constructor,
|
|
||||||
KotlinIosX64Variant.constructor,
|
|
||||||
KotlinIosArm64Variant.constructor
|
|
||||||
).forEach { constructor -> registerNativeVariantFactory(constructor) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -143,7 +143,7 @@ open class KotlinNativeTarget @Inject constructor(
|
|||||||
|
|
||||||
internal val isKpm: Boolean
|
internal val isKpm: Boolean
|
||||||
get() = project.hasKpmModel &&
|
get() = project.hasKpmModel &&
|
||||||
AbstractKotlinNativeTargetPreset.kpmVariantClass(konanTarget) != null
|
kpmNativeVariantClass(konanTarget) != null
|
||||||
}
|
}
|
||||||
|
|
||||||
private val hostManager by lazy { HostManager() }
|
private val hostManager by lazy { HostManager() }
|
||||||
|
|||||||
+1
-11
@@ -71,7 +71,7 @@ abstract class AbstractKotlinNativeTargetPreset<T : KotlinNativeTarget>(
|
|||||||
|
|
||||||
protected abstract fun instantiateTarget(name: String): T
|
protected abstract fun instantiateTarget(name: String): T
|
||||||
|
|
||||||
private val kpmVariantClass = kpmVariantClass(konanTarget)
|
private val kpmVariantClass = kpmNativeVariantClass(konanTarget)
|
||||||
|
|
||||||
protected val isKpm: Boolean
|
protected val isKpm: Boolean
|
||||||
get() = project.hasKpmModel && kpmVariantClass != null
|
get() = project.hasKpmModel && kpmVariantClass != null
|
||||||
@@ -120,16 +120,6 @@ abstract class AbstractKotlinNativeTargetPreset<T : KotlinNativeTarget>(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val KOTLIN_NATIVE_HOME_PRIVATE_PROPERTY = "konanHome"
|
private const val KOTLIN_NATIVE_HOME_PRIVATE_PROPERTY = "konanHome"
|
||||||
|
|
||||||
// FIXME: codegen
|
|
||||||
internal fun kpmVariantClass(konanTarget: KonanTarget): Class<out KotlinNativeVariantInternal>? = when (konanTarget) {
|
|
||||||
KonanTarget.IOS_ARM64 -> KotlinIosArm64Variant::class.java
|
|
||||||
KonanTarget.IOS_X64 -> KotlinIosX64Variant::class.java
|
|
||||||
KonanTarget.LINUX_X64 -> KotlinLinuxX64Variant::class.java
|
|
||||||
KonanTarget.MACOS_ARM64 -> KotlinMacosArm64Variant::class.java
|
|
||||||
KonanTarget.MACOS_X64 -> KotlinMacosX64Variant::class.java
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user