作为Gradle和Groovy的新手,我很难理解Writing a simple plugin教程中遇到的以下代码:
class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') {
doLast {
println 'Hello from the GreetingPlugin'
}
}
}
}
project.task('hello') {...}
?它看起来像是没有返回类型的方法声明,或者像是带有附加括号的方法调用……这是什么构造? doLast {...}
,它源自何处?无论如何,这是什么语法模式?一些关键字后跟方括号。我在Groovy syntax页面中找不到类似的内容,该页面大多数包含使用${}
或使用方括号定义类或方法的示例。 最佳答案
在常规中,如果方法的最后一个参数是闭包,则可以将其放在圆括号之外。
例如
project.task('foo', {
doStuff()
})
等于
project.task('foo') {
doStuff()
}
这是这两种方法的javadocs链接
关于gradle - 试图了解最简单的Gradle插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46788175/