gpt4 book ai didi

Gradle leftshift << 操作符需要 Task 吗? (是不是多余)

转载 作者:行者123 更新时间:2023-12-04 13:05:11 27 4
gpt4 key购买 nike

我正在维护有时在定义任务中使用左移运算符 << 的 gradle 代码。它工作正常,但从任务中省略 << 运算符也是如此。

我理解左移运算符的目的,如解释
What's the operator << (double less than) in gradle?

所以......我得到了左移运算符<<的目的。它是为任务添加一组 Action ,当任务运行时,它将按照输入任务的相同顺序执行 Action 。我明白了,我可以看到它正常工作。但是,省略 << 将导致相同的行为。我可以看到在 Gradle 中使用 << 有意义的地方,但在任务的情况下,它似乎是多余的,应该省略。这是正确的还是左移运算符有用。

例子:

task Foo
task Bar

Foo << {
println "foo action 1"
}

Foo << {
println "foo action 2"
}

Bar {
println "bar action 1"
}

Bar {
println "bar action 2"
}

Foo 和 Bar 的行为完全相同。

最佳答案

左移 ( << ) 运算符是 Task.doLast() 的别名,这意味着它向任务添加了一个 Action 。任务操作是在任务执行时评估的一些代码。省略运算符只是配置任务。区别在于一个在配置时运行(当 Gradle 运行你的构建脚本时),另一个在 execution时间。

基本上这个例子

task foo << { 
println 'bar'
}

相当于
task foo {
doLast {
println 'bar'
}
}

关于Gradle leftshift << 操作符需要 Task 吗? (是不是多余),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com