Gradle Cheat Sheet (6): Parameterising Your Build

  Gradle允许通过添加属性在脚本之外对build进行参数化。添加属性有两种方式:gradle.properties文件和命令行参数。

1. gradle.properties

  建立gradle.properties文件,在其中加入:

greeting=Hello from a properties file

然后在build.gradle中声明如下任务:

task printGreeting << {
    println greeting
}

运行:

$ gradle printGreeting

输出为:

Hello from a properties file

2. 使用命令行参数

  通过命令行参数加入属性,属性名要加上-P 前缀,运行:

$ gradle -Pgreeting="Hello from the command line" printGreeting

输出为:

Hello from the command line

此时greeting 在gradle.properties和命令行参数中都有提供,实际使用了命令行参数提供的greeting ,命令行参数优先级比build.gradle高。

3. 其他方法

  此外还可以直接在脚本中定义参数:

ext {
    greeting = "Hello from inside the build script"
}

这种方式的优先级最高,会覆盖命令行参数和gradle.properties中的属性,此时无论运行

$ gradle printGreeting

还是

$ gradle -Pgreeting="Hello from the command line" printGreeting

输出都是:

Hello from inside the build script

 

本部分的完整代码可以在这里找到。