定义属性的方式有多种,但比较常用的有三种
ext代码块
gradle.properties文件
-P命令行参数
下面通过一个Task来演示
在顶层构建文件build.gradle中
ext{
local="Hello"
}
task printProperties <<{
println(local)
if(project.hasProperty('cmd'))
{
println(cmd)
}
}
我们通过ext定义了一个变量,然后定义了一个任务 printProperties,然后运行这个task
hhh:MyApplication huozhenpeng$ ./gradlew printProperties
输出:
我们在命令后面加入-P参数
hhh:MyApplication huozhenpeng$ ./gradlew printProperties -P cmd="world"
输出:
我们往gradle.properties中添加一个属性
修改顶层构建文件build.gradle文件
ext{
local="Hello"
}
task printProperties <<{
println(local)
if(project.hasProperty('cmd'))
{
println(cmd)
}
println(propertiesFile)
}
hhh:MyApplication huozhenpeng$ ./gradlew printProperties -P cmd="world"
输出:
我们可以同时在顶层构建文件和module构建文件中定义属性,如果一个模块定义了一个在顶层文件中早已存在的属性时,那么新属性将会直接覆盖原来的属性。