什么是groovy语言中的gradle任务定义?

时间:2014-08-31 13:37:14

标签: groovy gradle

我对gradle和groovy都是全新的,而且我很难找到有关以下实际上是什么语言的信息

task myTask(dependsOn: 'compile') << {
   println 'I am not affected'
}

AFAIK {...}部分是一个闭包,似乎传递给<<之前定义的任何内容。

task myTask()对构造函数的调用吗?

看起来像参数的冒号有什么用?

<<做什么?它是一个被gradle超载的运算符还是标准的groovy?

1 个答案:

答案 0 :(得分:11)

dependsOn: 'compile'是一个命名参数。 <<是一个重载运算符,用于向任务添加任务操作。 (有关更多信息,请参阅Gradle User Guide。){ ... }是一个实现任务操作的闭包。 myTask在语法上是嵌套方法调用(task(myTask(dependsOn: 'compile') << ...)),但是使用Groovy编译器插件(task('myTask', dependsOn: 'compile') << ...)重写为String。