如何以智能方式将系统属性传递给gradle中的测试?

Ale*_*dov 6 system-properties gradle

的build.gradle

tasks.withType(Test){
    systemProperties=System.properties
    println systemProperties['param']
}
Run Code Online (Sandbox Code Playgroud)

现在我可以在命令行中传递参数:

gradle test -Dparam=10
Run Code Online (Sandbox Code Playgroud)

或者将它们放在gradle.properties中:

systemProp.param=15
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想将默认值放在gradle.properties中,并能够从命令行覆盖它们.不幸的是,如果我这样做,gradle.properties具有优先权,并被-Dparam=10忽略.

你能提供任何解决方案吗?

Ale*_*dov 1

https://issues.gradle.org/browse/GRADLE-2122

它从 2.12 或 2.13 开始就可以“以智能方式”运行!

上面的示例有效,命令行 -D 选项超出了gradle.properties中的默认值