Groovy 这个Gradle语法有什么问题?
我刚刚开始学习Groovy和Gradle,正在玩一些hello world Gradle脚本。在以下两个脚本中,第一个成功,第二个失败。有人能解释为什么吗?顺便说一句,我确实意识到这些不是“标准”Gradle语法,但它们与API匹配 这项工作:Groovy 这个Gradle语法有什么问题?,groovy,gradle,Groovy,Gradle,我刚刚开始学习Groovy和Gradle,正在玩一些hello world Gradle脚本。在以下两个脚本中,第一个成功,第二个失败。有人能解释为什么吗?顺便说一句,我确实意识到这些不是“标准”Gradle语法,但它们与API匹配 这项工作: task 'hello' << { println 'Hello world!' } task 'intro', dependsOn: hello << { println "I'm Gradle" } tas
task 'hello' << {
println 'Hello world!'
}
task 'intro', dependsOn: hello << {
println "I'm Gradle"
}
task 'hello' << {
println 'Hello world!'
}
task('intro', dependsOn: 'hello') << {
println "I'm Gradle"
}
task'hello'第一个和第二个代码段都是错误的。第一个可能不会完全失败,但它没有预期的结果(任务操作被添加到hello
而不是intro
)。最好使用更标准的语法:
task hello << { ... }
task intro(dependsOn: hello) << { ... }
后一种语法更为规则,避免了在使用命名参数(例如dependsOn:
)和时出现的常见错误。我甚至没有意识到我的第一个示例的输出与第三个示例的输出不同。谢谢你指出这一点。这就清楚了为什么需要括号。我喜欢后一个示例的语法。谢谢你的快速回复。
task hello << { ... }
task intro(dependsOn: hello) << { ... }
task hello {
doLast { ... }
}
task intro {
dependsOn hello
doLast { ... }
}