Gradle groovy中这个看起来像闭包的代码意味着什么?
我正在一个新项目中试用一些gradle,在它的设置.gradle文件中,我看到了几行我无法理解的内容,比如groovy结构或语言功能是什么,它做什么以及如何工作:Gradle groovy中这个看起来像闭包的代码意味着什么?,gradle,groovy,closures,Gradle,Groovy,Closures,我正在一个新项目中试用一些gradle,在它的设置.gradle文件中,我看到了几行我无法理解的内容,比如groovy结构或语言功能是什么,它做什么以及如何工作: plugins { id "com.gradle.build-scan" version "1.12.1" id "cz.malohlava" version "1.0.3" } buildScan { server = "some.host.com" publishAlways() } 我怀疑这是一个闭包
plugins {
id "com.gradle.build-scan" version "1.12.1"
id "cz.malohlava" version "1.0.3"
}
buildScan {
server = "some.host.com"
publishAlways()
}
我怀疑这是一个闭包或某种接口,但无法理解
理解以下内容的任何帮助都将是巨大的帮助:
- 它是干什么的
- 从语言的角度来看,插件和buildScan是如何工作的
插件
委托
buildScan
委托构建扫描插件的扩展对象,该对象配置插件。这里可能有一些我不理解的技巧,特别是在API文档中找不到plugins()
或buildScan()
。尽管如此,以下是对语法含义的合理解读
plugins{}
和buildScan{}
都是以闭包(请参阅其他答案以了解其解释)作为参数的方法plugins()
的委托与buildScan()的委托类型不同
plugins{}
块,将针对其委托调用id(…).version(…)
。对于buildScan{}
,您正在委托上设置属性server
,并调用其publishAlways()
方法老实说,我不知道上面的信息对使用和理解Gradle有多有用,但我认为这正是你想要的。希望有帮助 存在一些有助于理解的现有问题,即。