Gradle Version Catalog 指定库构建类型

xat*_*okk 13 gradle build.gradle toml

我正在使用版本目录重构一个多模块项目,并且必须添加当前如下所示的依赖项:

implementation com.mygroup:my-artifact:1.0.0:debug@aar
Run Code Online (Sandbox Code Playgroud)

由于版本目录不允许指定aar类型,解决方法是直接在 gradle 文件中指定它,如下所示:

implementation(libs.myDependency) { artifact { type = 'aar' } }
Run Code Online (Sandbox Code Playgroud)

这可行,但存在额外的复杂性:我还需要指定构建类型,在上面的示例中是debug,我找不到添加它的方法。

我尝试过的是:

TOML

[libraries]
myDependency = { module = "com.mygroup:my-artifact", version = "1.0.0:debug" }
Run Code Online (Sandbox Code Playgroud)

摇篮

implementation(libs.myDependency) { artifact { type = 'aar' } }
Run Code Online (Sandbox Code Playgroud)

由于某种原因这不起作用,我怎样才能指定构建类型?

xat*_*okk 20

找到了一种方法来做到这一点!需要添加classifierartifact.

因此对于给定的常规声明:

构建.gradle

dependencies {
    implementation com.mygroup:my-artifact:1.0.0:debug@aar
}
Run Code Online (Sandbox Code Playgroud)

版本目录方式是:

TOML

dependencies {
    implementation com.mygroup:my-artifact:1.0.0:debug@aar
}
Run Code Online (Sandbox Code Playgroud)

构建.gradle

dependencies {
    implementation(libs.myDependency) {
        artifact {
            classifier = 'debug'
            type = 'aar'
        }
    }

}
Run Code Online (Sandbox Code Playgroud)