我正在阅读dynamic tasks in gradle并希望了解以下代码的语法和含义:
4.times { counter ->
task "task$counter" << {
println "I'm task number $counter"
}
}
task0.dependsOn task2, task3
4.times
是什么意思?为什么4
?->
是什么意思?现在我将其理解为将参数传递给任务的方法。我确信它的正确性严格来说是groovy。答案 0 :(得分:3)
基于Groovy的Gradle,你可以像groovy或java一样在gradle中编程。对于你的问题:
答案 1 :(得分:2)
答案 2 :(得分:1)
这个答案是Opal答案的延伸。
我使用上面的代码制作了一个构建脚本,并执行了以下Gradle命令。
$ gradle tasks
<强>输出强>
Other tasks ----------- task0 task1 task2 task3 ...
这意味着代码基本上创建了4个任务(显示在输出中),这是因为4.times{...}
部分。它每次执行内部closure
4次传递参数counter
的值。
$ gradle task3 -q
<强>输出强>
I'm task number 3
这是因为println
语句为每个任务打印相应的计数器变量值,在本例中为 3 。
另外,我想指出Opal给出的代码片段不起作用。由于他删除了任何显式参数,因此将不再识别变量counter
。