我对gradle和groovy都是全新的,而且我很难找到有关以下实际上是什么语言的信息
task myTask(dependsOn: 'compile') << {
println 'I am not affected'
}
AFAIK {...}
部分是一个闭包,似乎传递给<<
之前定义的任何内容。
是task myTask()
对构造函数的调用吗?
看起来像参数的冒号有什么用?
<<
做什么?它是一个被gradle超载的运算符还是标准的groovy?
答案 0 :(得分:11)
dependsOn: 'compile'
是一个命名参数。 <<
是一个重载运算符,用于向任务添加任务操作。 (有关更多信息,请参阅Gradle User Guide。){ ... }
是一个实现任务操作的闭包。 myTask
在语法上是嵌套方法调用(task(myTask(dependsOn: 'compile') << ...)
),但是使用Groovy编译器插件(task('myTask', dependsOn: 'compile') << ...
)重写为String。