【问题标题】:What are gradle task definitions in groovy language?groovy 语言中的 gradle 任务定义是什么?
【发布时间】:2014-08-31 13:37:13
【问题描述】:

我对 gradle 和 groovy 都是全新的,我很难找到有关以下内容在 groovy 语言中的实际信息

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

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

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

冒号看起来像参数是什么?

&lt;&lt; 是做什么的?是被 gradle 重载的算子还是标准的 groovy?

【问题讨论】:

    标签: groovy gradle


    【解决方案1】:

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

    【讨论】:

    • Project 有一个方法:task(Map args, String name),而不是 task(String name, Map args)。所以应该是 task(dependOn: 'compile', 'myTask')
    • 感谢彼得的指点。该 Groovy 编译器插件的行为是否在此处描述,或者您是否有指向其源代码的链接?
    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    相关资源
    最近更新 更多