任务方法的gradle参数顺序

时间:2014-09-03 09:04:38

标签: groovy gradle

实际上这是一个更普遍的问题。 我正在为我的gradle项目编写一个自定义插件,它引入了一个新任务。由于这是一项非常简单的任务,我不想编写新的任务类。因此我使用方法"任务"从项目中创建它:

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

现在我很困惑这个方法调用的具体参数列表是什么样的。肠道,我认为它是task(String, Map, Closure)。但实际上没有方法超载这个签名。只有一种方法task(Map, String, Closure)

groovy真的重新排列了实际参数,还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

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