import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.androidMultiplatformLibrary) alias(libs.plugins.ksp) alias(libs.plugins.room) } room { schemaDirectory("$projectDir/schemas") } kotlin { android { namespace = "moe.lava.banksia.shared" compileSdk = libs.versions.android.compileSdk.get().toInt() compilerOptions { jvmTarget.set(JvmTarget.JVM_11) } } compilerOptions { freeCompilerArgs.add("-opt-in=kotlin.time.ExperimentalTime") } iosArm64() iosSimulatorArm64() jvm() sourceSets { androidMain.dependencies { implementation(libs.koin.compose) implementation(libs.ktor.client.okhttp) } commonMain.dependencies { implementation(libs.okio) implementation(libs.koin.core) implementation(libs.ktor.client.core) implementation(libs.ktor.client.contentnegotiation) implementation(libs.ktor.serialization.kotlinx.json) implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.serialization.json) implementation(libs.kotlinx.serialization.protobuf) implementation(libs.room.runtime) implementation(libs.sqlite.bundled) } iosMain.dependencies { implementation(libs.ktor.client.darwin) } } } dependencies { add("kspAndroid", libs.room.compiler) add("kspIosArm64", libs.room.compiler) add("kspIosSimulatorArm64", libs.room.compiler) add("kspJvm", libs.room.compiler) }