import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.android.library) alias(libs.plugins.mokkery) alias(libs.plugins.detekt) } detekt { source.setFrom( "src/commonMain/kotlin", "src/commonTest/kotlin", ) } kotlin { explicitApi() applyDefaultHierarchyTemplate() jvmToolchain { languageVersion.set(JavaLanguageVersion.of(17)) } @OptIn(ExperimentalWasmDsl::class) wasmJs { browser() } androidTarget() jvm("desktop") listOf( iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { target -> target.binaries.framework { baseName = "shared-domain" isStatic = true } } sourceSets { commonMain.dependencies { implementation(libs.kotlin.corutiens.core) } commonTest.dependencies { implementation(libs.bundles.test) } } } android { namespace = "com.vlohachov.shared.domain" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") sourceSets["main"].res.srcDirs("src/androidMain/res") sourceSets["main"].resources.srcDirs("src/commonMain/resources") }