在 gradle 中是否可以根据标志包含不同的 jar

In gradle is it possible to include a different jar based on a flag

如果我有一个简单的 gradle java 构建,我能否以某种方式换掉其中一个 jar 依赖项,比如 jarX 换成 jarY 基于 flag?

例如:

if 运行 ./gradlew build - 然后包括 jarX

但是如果 运行 ./gradlew build -specialBuild - 那么包括 jarY 而不是 jarX

是的,您可以在 dependencies {} 闭包上使用条件语句。

dependencies {
    if (project.hasProperty("useX")) {
        implementation 'x:x:x'
    } else {
        implementation 'y:y:y'
    }
}

调用为

gradle -PuseX=true