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