plugins { kotlin("multiplatform") } group = "com.google.flatbuffers.kotlin" version = "2.0.0-SNAPSHOT" kotlin { explicitApi() jvm() js { browser { testTask { useKarma { useChromeHeadless() } } } binaries.executable() } macosX64() iosArm32() iosArm64() iosX64() sourceSets { val commonMain by getting { dependencies { implementation(kotlin("stdlib-common")) } } val commonTest by getting { dependencies { implementation(kotlin("test")) } } val jvmTest by getting { dependencies { implementation(kotlin("test-junit")) } } val jvmMain by getting { kotlin.srcDir("java") } 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.optIn("kotlin.ExperimentalUnsignedTypes") } } } // Fixes JS issue: https://youtrack.jetbrains.com/issue/KT-49109 rootProject.plugins.withType { rootProject.the().nodeVersion = "16.0.0" }