Gradle - 如何在 settings.gradle 中定义可选的额外 属性
Gradle - How to define optional extra property in settings.gradle
我希望能够在我的文件 build.gradle
中使用可选的额外 属性。为此,我必须检查 属性 是否已定义,但出现以下错误
Cannot get property 'prop' on extra properties extension as it does not exist
文件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
是否存在?
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."
}
我希望能够在我的文件 build.gradle
中使用可选的额外 属性。为此,我必须检查 属性 是否已定义,但出现以下错误
Cannot get property 'prop' on extra properties extension as it does not exist
文件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
是否存在?
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."
}