我知道传递配置闭包和为任务定义操作之间的区别。我相信您不能在配置闭包中使用<<
,因为这似乎是语法错误:
task wrong {
<< { println "From doLast" }
}
但。为什么在上述配置闭包中不能使用
leftShift
等效于<<
?在更清晰的测试用例中,以下构建文件为什么不输出From leftShift - inside
行?defaultTasks 'tryout'
task tryout {
doLast { println "From doLast" }
leftShift { println "From leftShift - inside" }
}
tryout.leftShift { println "From leftShift - outside" }
当然,这不是一个真正的问题,因为我可以简单地使用doLast。我只是想扩大我对Gradle的理解。谢谢!
最佳答案
与任务定义一起使用时,<<
实际上是按位意义上的向左移而不是。它是doLast
的简写。在gradle DSL中:
task hello << {
println 'Hello world!'
}
与以下内容完全相同:
task hello {
doLast{
println 'Hello world!'
}
}
关于gradle - Gradle任务上的doLast和leftShift之间有区别吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35386774/