Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以及何时在Gradle中访问属性?_Gradle - Fatal编程技术网

如何以及何时在Gradle中访问属性?

如何以及何时在Gradle中访问属性?,gradle,Gradle,我在build.gradle中有以下内容: PlatformUmbrella platformUmbrella = PlatformUmbrella.create(System.properties['module.status']) task setClBeforePublish << platformUmbrella.beforePublish project.tasks.publish.doLast platformUmbrella.afterPublish 但是当检索到

我在
build.gradle中有以下内容:

PlatformUmbrella platformUmbrella = PlatformUmbrella.create(System.properties['module.status'])

task setClBeforePublish << platformUmbrella.beforePublish

project.tasks.publish.doLast platformUmbrella.afterPublish

但是当检索到
System.properties['module.status']
gradle.properties['module.status']
时,将返回
null
(可能是因为尚未处理属性)。访问
gradle.taskGraph.whenReady
闭包中的
gradle.properties['module.status']
时也会返回
null
。访问“module.status”设置的正确方法是什么?

gradle.properties的内容将自动加载到项目的“额外”属性扩展中,该扩展可通过
project.ext
访问


在您的情况下,请尝试
project.ext[“module.status”]

gradle.properties的内容将自动加载到项目的“额外”属性扩展中,该扩展可通过
project.ext
访问


在您的情况下,请尝试使用
project.ext[“module.status”]

我可能记错了,但我想我在某个地方读到过
project.ext
不推荐使用。不管怎样,即使这是真的,这也行得通。谢谢.AFAIK,
project.ext
尚未被弃用。不过,我确实忘记了,在阅读“动态”属性时,没有必要引用
ext
部分,因此您可以在场景中使用
project[“module.status”]
。但如果要检查属性是否存在,则必须执行类似于
project.ext.has(“module.status”)
的操作,如果要在脚本中设置动态属性,则必须执行类似于
project.ext[“module.status”]=“snapshot”
project.ext.newProp=“newValue”的操作
。我可能记错了,但我想我在某个地方读到了
project.ext
被弃用的消息。不管怎样,即使这是真的,这也行得通。谢谢.AFAIK,
project.ext
尚未被弃用。不过,我确实忘记了,在阅读“动态”属性时,没有必要引用
ext
部分,因此您可以在场景中使用
project[“module.status”]
。但是,如果要检查属性是否存在,则必须执行类似于
project.ext.has(“module.status”)
的操作,如果要在脚本中设置动态属性,则必须执行类似于
project.ext[“module.status”]=“snapshot”
project.ext.newProp=“newValue”
的操作。
module.status: snapshot