微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果 SQLDelight 多平台位于单独的模块中,则不会生成架构

如何解决如果 SQLDelight 多平台位于单独的模块中,则不会生成架构

我已经模块化了我的共享代码,所以目前我有一个 shared 模块 (kmp),在这个模块中我有 shared:coreshared:database(也是多平台的)。
如果我在共享模块中设置数据库,它会起作用:我将我的 AppDatabase.sq 放在 shared 的 commonMain 文件夹中,在 sqldelight/com/example/kmmbase/database/ 中,并且正确生成了架构。
另一方面,如果我尝试将它移动到 shared:database 模块,它不会生成架构,并且驱动程序将不会编译。我将 AppDatabase.sq 文件添加到相同的路径,但现在在 shared:database 模块的 commonMain 中,并将 sqldelight 插件和 gradle 配置从 shared gradle 文件移动到 shared:database gradle 文件
我的 gradle 配置如下:

sqldelight {
    database("AppDatabase") {
        packageName = "com.example.kmmbase.database"
        sourceFolders = listof("sqldelight")
    }
}

我为 .sq 文件尝试了不同的位置,并且在每个位置上我都匹配了 gradle 配置的 packageName:

  • sqldelight/com/example/kmmbase/shared/
  • sqldelight/com/example/kmmbase/database/
  • sqldelight/com/example/database/
  • sqldelight/com/example/database/database/
  • sqldelight/数据库/
  • ...

知道我可能做错了什么吗?

编辑:这是带有代码a repo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。