variables - Gradle:在范围内定义变量?

标签 variables dictionary gradle groovy scope

在 Gradle 中,我们可以像下面这样定义和访问变量吗?在范围(命名空间)内定义变量的更方便的方法。

foo {
   bar1 {
      variable1 = 'hello';
      variable2 = 'hello2';
   }

   bar2 {
      variable1 = 'hello';
      variable2 = 'hello2';
   }

}

println foo.bar1.variable1
println foo.bar2.variable2

或者需要 map
foo = [bar1 : [variable1 : 'hello', 
               variable2 : 'hello2'
              ],
       bar2 : [variable1 : 'hello', 
               variable2 : 'hello2'
              ]
]

最佳答案

您应该使用 ConfigSlurper

foo.groovy 中设置您的变量

foo {
    bar1 {
        variable1 = 'hello'
        variable2 = 'hello2'
    }
    bar2 {
        variable1 = 'hello'
        variable2 = 'hello2'
    }
}

然后加载它
ConfigSlurper foo = new ConfigSlurper().parse(new File('/path/to/foo.groovy').toURI().toURL())

println foo.bar1.variable1
println foo.bar2.variable2

关于variables - Gradle:在范围内定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788573/

相关文章:

Javascript - 方法名称的变量?

python - 使用嵌套字典替换 pandas 数据框中的值

android - 如何找到适用于 android 的 gradle lintOptions 文档?

java - 纯Java API中的意外非空类型

javascript - PostCss 不导入变量文件

variables - 错误值在 if 语句之外消失

python - 仅比较共享 key 上的字典

javascript - 在 javascript 中组合 filter() 和 map() 方法

gradle - "com.jfrog.artifactory-upload"发生了什么?

Python 函数定义中的变量作用域