我希望能够在文件build.gradle
中使用可选的额外属性。为此,我必须检查属性是否已定义,但是出现以下错误
由于不存在额外的属性扩展而无法获取属性'prop'
文件build.gradle
[...]
def my_prop=''
if(gradle.ext.prop!= null && gradle.ext.prop != '')
my_prop=gradle.ext.prop
正在使用此文件setting.gradle
gradle.ext.prop='PROP'
我在文件setting.gradle中注释行时不起作用
//gradle.ext.prop='PROP'
如何在build.gradle中检查gradle.ext.prop
是否存在?
答案 0 :(得分:1)
ext
属性的类型为ExtraPropertiesExtension
:请参见this DSL文档。
总结:
get(propName)
方法将抛出UnknownPropertyException
,has(propName)
方法可用于在尝试访问属性之前检查是否已设置属性根据您的情况,您可以按以下方式使用has(name)
方法
def my_prop = ''
if (gradle.ext.has("prop") && gradle.ext.prop != '') {
println "Property PROP found: $gradle.ext.prop"
my_prop = gradle.ext.prop
// or: my_prop = gradle.ext('prop')
} else {
println "Property PROP not set."
}