2014-09-03 46 views
0

其实这是一个比较普遍的问题。 我正在为我的gradle项目编写一个定制插件,它引入了一项新任务。由于这是一个非常简单的任务,我不想写一个新的任务类。为此我使用的方法“任务”从项目来创建它:任务方法的gradle参数order

project.task('myTask', dependsOn: 'build') << { 
    println 'Here I come!' 
} 

现在我很困惑这是什么方法调用的具体参数列表如下所示。肠道我会他们它是task(String, Map, Closure)。但事实上,这个签名没有重载的方法。只有一种方法task(Map, String, Closure)

Groovy确实重新排列了实际参数还是我错过了这里的东西?

回答

1

使用的过载是task(Map, String)。 (<<Task上的重载运算符,用作Task#doLast的简写。)由Groovy编译器将命名参数解析为第一个参数映射。