gradle docs说我在build.gradle文件中声明任务的方式应该是
task greeting(type: GreetingTask) {
greeting = 'greetings from GreetingTask'
}
任何人都可以向我解释一下groovy语法会发生什么?
我知道{}
块是封闭的,它可以作为参数传递给函数但我仍然没有得到这里发生的事情
答案 0 :(得分:2)
task
关键字是特定于gradle的内容。它不是标准的groovy,而是gradle使用AST转换添加的东西,以使DSL更简单。它基本上等同于
project.tasks.create([name: 'greeting', type: GreetingTask]) { ... }
请参阅https://discuss.gradle.org/t/how-to-translate-task-keyword-in-dsl-into-groovy-call/7243