1

在我的 Android 多模块项目中,我有: 模块 A:

sqldelight {
    SomeExampleDb {
        packageName = "com.example.exampleapp.feature.currency.datasource.example.localstorage"
    }
}

模块 B:

sqldelight {
    SomeExampleDb {
        packageName = "com.example.exampleapp.feature.account.datasource.example.localstorage"
        dependency(project(":moduleA"))
    }
}

在构建期间,当编译器SomeExampleDb为模块 B 生成接口时,它会导致这样的导入:

import com.example.exampleapp.feature.currency.datasource.example.localstorage.SomeExampleDb as
    SomeExampleDb0
    
public interface SomeExampleDb : Transacter, SomeExampleDb0 {
 ...
}    

(后面有换行符as)导致这样的错误:

e: {path to file}/SomeExampleDb.kt: (8, 101): Expecting identifier

当 packageName 较短时,一切正常。在构建过程中是否以任何方式考虑了最大行长度?

SQLDelight 版本

1.5.2

操作系统

macOS 大苏尔 11.2.3

摇篮版本

7.2

Kotlin 版本

1.5.30

AGP版本

7.0.3

4

1 回答 1

1

这是由 sqldelight 使用的 kotlinpoet(生成 kotlin 文件的 api)中的问题引起的:https ://github.com/square/kotlinpoet/issues/1169

于 2021-11-04T12:05:24.883 回答