如何从命令行覆盖Gradle`rootProject.name`?

时间:2014-01-14 20:24:31

标签: gradle

我正在编写一个测试,用于构建并发布到Artifactory。因为如果它同时运行(例如,通过单独的构建作业或开发人员),我不希望测试失败,我想覆盖rootProject.name。可以通过命令行完成吗?我尝试了-ProotProject.name=${module}-Pproject.archivesBaseName=${module}但是它们没有用(后者确实有效,但工件仍然使用rootProject.name中的settings.gradle设置发布

2 个答案:

答案 0 :(得分:1)

您必须编写脚本settings.gradle。例如:

rootProject.name = System.getProperty("rootProjectName")

现在您可以使用gradle build -DrootProjectName=foo

运行

答案 1 :(得分:1)

以下是当您需要默认行为而在不被覆盖时会通过默认行为的情况下稍微简化一些的版本。

rootProject.name = System.getProperty('rootProjectName') ?: rootProject.name