【问题标题】:How Does Groovy Support Adding Configuration in Gradle Configuration Script BlockGroovy 如何支持在 Gradle 配置脚本块中添加配置
【发布时间】:2016-05-28 16:22:01
【问题描述】:

Gradle documentation 中,当您在 build.gradle 文件中使用 configurations 块时,传递的闭包代表 ConfigurationContainer 对象。下面给出了示例用法的截断形式:

configurations {
  //adding a configuration:
  myConfiguration
}

我习惯于闭包内的调用是委托给对象的方法调用,但这里 myConfiguration 只是一个词,我知道在 Groovy 中没有参数的方法必须有括号,所以这不能是一个方法调用。不知何故,通过将这个在我看来应该无效的单词放入 Groovy 中,myConfiguration 的新配置被添加到委派给ConfigurationContainer

这是如何工作的?

【问题讨论】:

    标签: gradle groovy


    【解决方案1】:

    Project.configurations(Closure) 调用 ConfigurationContainer.configure(Closure),它创建命名项目并将其添加到容器中,正如它们在闭包中声明的那样。因为 ConfigurationContainer 扩展了 NamedDomainObjectContainer,所以添加到 It 的每个项目都应该有名称。在提供的代码示例中,仅声明了名称,因此使用默认字段值创建并添加了 myConfiguration 项。如果需要配置项目(更改其属性),那么配置将如下所示:

       configurations {
         myConfiguration {
            transitive = false
         }
       }
    

    更多信息/见解https://gist.github.com/tlberglund/3132622

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-12
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2014-12-15
      相关资源
      最近更新 更多