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 { compilerOptions { freeCompilerArgs.add("-Xexpect-actual-classes") } android { namespace = "com.zhushenwudi.lovelivemusicplayer.shared" compileSdk = libs.versions.android.compileSdk.get().toInt() minSdk = libs.versions.android.minSdk.get().toInt() compilerOptions { jvmTarget.set(JvmTarget.JVM_11) freeCompilerArgs.add("-Xexpect-actual-classes") } } // iOS targets only — framework is exported via :composeApp (ComposeApp.framework) iosArm64() iosSimulatorArm64() 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("com.zhushenwudi.lovelivemusicplayer.db") verifyMigrations.set(false) } } }