Gradle 7.2 版本目录指定库构建类型

Gradle 7.2 Version Catalog specify library build type

我正在用版本目录重构一个多模块项目,我必须添加一个依赖项,目前是这样的:

implementation com.mygroup:my-artifact:1.0.0:debug@aar

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

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

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

我试过的是:

TOML

[libraries]
myDependency = { module = "com.mygroup:my-artifact", version = "1.0.0:debug" }

Gradle

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

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

找到方法了!需要将 classifier 添加到 artifact.

所以对于给定的正则声明:

build.gradle

dependencies {
    implementation com.mygroup:my-artifact:1.0.0:debug@aar
}

版本目录方式为:

TOML

[libraries]
myDependency = { module = "com.mygroup:my-artifact", version = "1.0.0" }

build.gradle

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

或(多行)

build.gradle

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

}