Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 如何在kotlin多平台项目中使用android、iOS和不受支持的目标(如mingwX64)设置sqldelight?_Gradle_Kotlin_Gradle Kotlin Dsl_Kotlin Multiplatform_Sqldelight - Fatal编程技术网

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

Gradle 如何在kotlin多平台项目中使用android、iOS和不受支持的目标(如mingwX64)设置sqldelight?,gradle,kotlin,gradle-kotlin-dsl,kotlin-multiplatform,sqldelight,Gradle,Kotlin,Gradle Kotlin Dsl,Kotlin Multiplatform,Sqldelight,过去,我们正在为移动设备开发一个kotlin多平台项目,该项目使用sqldelight进行数据库访问 现在我们想添加一些本机桌面目标,如mingwX64和linuxX64,但目前sqldelight不适用于这些目标,因此我们希望使用其他库来处理桌面上的数据库访问。 但是,如何将sqldelight配置设置为仅适用于android和iOS目标 当前build.gradle.kts如下所示: plugins { kotlin("multiplatform") id("com.squa

过去,我们正在为移动设备开发一个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"]}")
            }
        }
    ...
}


因为:插件{idcom.squareup.sqldelight,sqldelight运行时自动添加到linux和windows的依赖项中


感谢您并致以最诚挚的问候

Plangrid为mingwX64支持维护了自己的sqldelight分支。在本机上,驱动程序名为SQLiter。它支持mingwX64。我不知道如何在Linux上链接sqlite,但如果您可以向SQLiter添加Linux支持,您可以发布支持所有这些平台的sqldelight分支。I wr注意并维护SQLiter,以便我能提供帮助

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