import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidKotlinMultiplatformLibrary) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.sqldelight) } kotlin { android { namespace = "top.zhushenwudi.llmp.shared" compileSdk = libs.versions.android.compileSdk.get().toInt() minSdk = libs.versions.android.minSdk.get().toInt() compilerOptions { jvmTarget.set(JvmTarget.JVM_11) } } listOf( iosArm64(), iosSimulatorArm64(), ).forEach { iosTarget -> iosTarget.binaries.framework { baseName = "Shared" isStatic = true } } sourceSets { commonMain.dependencies { implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.serialization.json) implementation(libs.ktor.client.core) implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.client.logging) implementation(libs.ktor.client.websockets) implementation(libs.ktor.serialization.kotlinx.json) implementation(libs.sqldelight.runtime) implementation(libs.sqldelight.coroutines) api(libs.multiplatform.settings) implementation(libs.multiplatform.settings.coroutines) } commonTest.dependencies { implementation(libs.kotlin.test) } androidMain.dependencies { implementation(libs.ktor.client.okhttp) implementation(libs.sqldelight.android) implementation(libs.kotlinx.coroutines.android) implementation(libs.media3.exoplayer) implementation(libs.media3.session) } iosMain.dependencies { implementation(libs.ktor.client.darwin) implementation(libs.sqldelight.native) } } } sqldelight { databases { create("LlmpDatabase") { packageName.set("top.zhushenwudi.llmp.db") verifyMigrations.set(false) } } }