我承认我很贪心,但我没想到会像下面的例子那样简单地理解.我可以使用hasProperty(String propertyName)调用来阅读关于检查是否已设置项目属性的gradle文档,我坐在这里并且不知道为什么这么基本的东西不起作用.
我相信我的思想必须如此"蚂蚁般",因为我确实缺少一些普通的基本知识
task printSystem() << {
println system
println "has property: " + hasProperty("system")
}
Run Code Online (Sandbox Code Playgroud)
并使用以下命令调用该任务:
$gradle printSystem -Psystem=mySystem
mySystem
has property: null
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
null?这是来自gradle文档,我相信我正在阅读它
19.2.1.检查项目属性
您可以使用其名称来访问构建脚本中的项目属性,就像使用变量一样.如果此属性不存在,则将抛出异常并且构建将失败.如果构建脚本依赖于用户可能设置的可选属性(可能在gradle.properties文件中),则需要在访问它们之前检查是否存在.您可以使用返回true或false的方法hasProperty('propertyName')来完成此操作.
Opa*_*pal 16
您需要hasProperty在project实例上显式调用- 没有它,hasProperty在某些本地上下文中调用.以下示例有效:
task printSystem() << {
println system
println "has property: " + project.hasProperty("system")
}
Run Code Online (Sandbox Code Playgroud)
system在脚本中未定义)是从实例中获取的project.如果您不传递该system属性,则会抛出异常println.project.hasProperty('propName')project通过System类通过实例和系统属性访问项目属性.-D开关 -gradle -Dprop=value| 归档时间: |
|
| 查看次数: |
12128 次 |
| 最近记录: |