首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用android、iOS和mingwX64等不支持的目标的kotlin多平台项目中设置sqldelight?

如何在使用android、iOS和mingwX64等不支持的目标的kotlin多平台项目中设置sqldelight?
EN

Stack Overflow用户
提问于 2020-01-10 16:21:35
回答 1查看 872关注 0票数 0

在过去,我们正在开发一个用于移动设备的kotlin多平台项目,该项目使用sqldelight进行数据库访问。

现在我们想要添加一些本地桌面目标,比如mingwX64和linuxX64,但是目前sqldelight不适用于这些目标,所以我们希望使用其他库来处理桌面上的数据库访问。但是如何将sqldelight配置设置为只适用于android和iOS目标呢?

当前的build.gradle.kts如下所示:

代码语言:javascript
复制
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的依赖中。

谢谢并致以最良好的问候

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 20:23:24

Plangrid为mingwX64支持维护了他们自己的sqldelight分支。在本机上,驱动程序称为SQLiter (https://github.com/touchlab/SQLiter)。它有mingwX64支持。我不知道如何在Linux上连接sqlite,但是如果你能在SQLiter中添加Linux支持,你就可以发布一个支持所有这些平台的Sqldelight分支。我编写并维护了SQLiter,所以我可以帮上忙。

或者,我认为你需要有不同的模块来避免插件所做的事情,或者维护你自己的sqldelight插件分支。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59677825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档