import org.jetbrains.compose.ExperimentalComposeLibrary import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.compose.compiler) alias(libs.plugins.compose.multiplatform) alias(libs.plugins.android.kmp.library) alias(libs.plugins.compose.hot.reload) alias(libs.plugins.kotlinx.serialization) alias(libs.plugins.metro) } kotlin { android { namespace = "org.shahondin1624" compileSdk = 36 minSdk = 23 androidResources.enable = true } jvm() js { browser() } wasmJs { browser() } iosX64() iosArm64() iosSimulatorArm64() sourceSets { commonMain.dependencies { implementation(compose.runtime) implementation(compose.ui) implementation(compose.foundation) implementation(compose.material3) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) implementation(libs.kotlinx.coroutines.core) implementation(libs.ktor.client.core) implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.client.serialization) implementation(libs.ktor.serialization.json) implementation(libs.ktor.client.logging) implementation(libs.androidx.lifecycle.viewmodel) implementation(libs.androidx.lifecycle.runtime) implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.serialization.json) implementation(libs.coil) implementation(libs.coil.network.ktor) implementation(libs.multiplatformSettings) implementation(libs.kstore) implementation(libs.materialKolor) implementation(libs.materialIcons) } commonTest.dependencies { implementation(kotlin("test")) @OptIn(ExperimentalComposeLibrary::class) implementation(compose.uiTest) implementation(libs.kotlinx.coroutines.test) } androidMain.dependencies { implementation(compose.uiTooling) implementation(libs.kotlinx.coroutines.android) implementation(libs.ktor.client.okhttp) implementation(libs.kstore.file) } jvmMain.dependencies { implementation(compose.desktop.currentOs) implementation(libs.kotlinx.coroutines.swing) implementation(libs.ktor.client.okhttp) implementation(libs.kstore.file) } webMain.dependencies { implementation(libs.kstore.storage) } iosMain.dependencies { implementation(libs.ktor.client.darwin) implementation(libs.kstore.file) } } targets .withType() .matching { it.konanTarget.family.isAppleFamily } .configureEach { binaries { framework { baseName = "SharedUI" } } } }