从命令行覆盖build.gradle中的属性

时间:2014-08-30 12:05:15

标签: gradle

build.gradle中我们可以定义变量,如:

def libVersion='someVersion'

我们可以使用-PlibVersion=otherVersion

覆盖命令行中的属性

不幸的是,这个命令行选项似乎不会影响build.gradle中定义的局部变量。有没有办法从命令行覆盖这些?请注意,出于某些原因,我不想创建settings.gradlegradle.properties个文件。

1 个答案:

答案 0 :(得分:47)

以下是一个例子:

ext.greeting = project.hasProperty('greeting') ? project.getProperty('greeting') : 'hello'

task greet << {
    println greeting
}

如果您运行gradle greet,则会打印hello

如果您运行gradle -Pgreeting=welcome greet,则会打印welcome