flatbuffers/kotlin/flatbuffers-kotlin/build.gradle.kts

98 lines
2.2 KiB
Plaintext

plugins {
kotlin("multiplatform") version "1.4.20"
}
group = "com.google.flatbuffers.kotlin"
version = "2.0.0-SNAPSHOT"
kotlin {
explicitApi()
jvm()
js {
browser {
binaries.executable()
testTask {
useKarma {
useChromeHeadless()
}
}
}
}
macosX64()
iosArm32()
iosArm64()
iosX64()
sourceSets {
val commonMain by getting {
dependencies {
implementation(kotlin("stdlib-common"))
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jvmTest by getting {
dependencies {
implementation(kotlin("test-junit"))
}
}
val jvmMain by getting {
kotlin.srcDir("java")
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.4.1")
}
}
val jsMain by getting {
dependsOn(commonMain)
}
val jsTest by getting {
dependsOn(commonTest)
dependencies {
implementation(kotlin("test-js"))
}
}
val nativeMain by creating {
dependsOn(commonMain)
}
val nativeTest by creating {
dependsOn(commonMain)
}
val macosX64Main by getting {
dependsOn(nativeMain)
}
val iosArm32Main by getting {
dependsOn(nativeMain)
}
val iosArm64Main by getting {
dependsOn(nativeMain)
}
val iosX64Main by getting {
dependsOn(nativeMain)
}
all {
languageSettings.enableLanguageFeature("InlineClasses")
languageSettings.useExperimentalAnnotation("kotlin.ExperimentalUnsignedTypes")
}
}
/* Targets configuration omitted.
* To find out how to configure the targets, please follow the link:
* https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html#setting-up-targets */
targets {
targetFromPreset(presets.getAt("jvm"))
targetFromPreset(presets.getAt("js"))
targetFromPreset(presets.getAt("macosX64"))
targetFromPreset(presets.getAt("iosArm32"))
targetFromPreset(presets.getAt("iosArm64"))
targetFromPreset(presets.getAt("iosX64"))
}
}