过去,我们正在为移动设备开发一个 kotlin 多平台项目,该项目使用 sqldelight 进行数据库访问。
现在我们想添加一些本地桌面目标,例如 mingwX64 和 linuxX64,但目前 sqldelight 不适用于这些目标,因此我们想使用其他库来处理桌面上的数据库访问。但是如何将 sqldelight 配置设置为仅适用于 android 和 iOS 目标?
当前的 build.gradle.kts 如下所示:
plugins {
kotlin("multiplatform")
id("com.squareup.sqldelight")
id("kotlinx-serialization")
id("com.android.library")
}
android {
...
}
sqldelight {
database("Database") {
packageName = "foo.bar
schemaOutputDirectory = file("src/foo
}
}
kotlin {
// Targets
val android = android()
val iosX64 = iosX64()
val jvm = jvm()
val linuxX64 = linuxX64()
val windows = mingwX64()
...
sourceSets {
val commonMain by getting {
dependencies {
implementation(kotlin("stdlib"))
//implementation("com.squareup.sqldelight:runtime:${rootProject.ext["sqldelightVersion"]}")
}
}
...
}
因为:plugins { id("com.squareup.sqldelight")
sqldelight 运行时自动添加到 linux 和 windows 的依赖项中。
感谢你并致以真诚的问候