我是Gradle和Groovy的新手,并试图了解在定义gradle任务时在Groovy级别上正在发生的事情。
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
通过阅读“ Gradle In Action”这本书,我知道task hello {}确实是task()对Groovy Project接口方法的调用。在第77页上,它显示了Project接口上有4个称为task的方法
task(args: Map<String,?>, name:String)
task(args: Map<String,?>, name:String, c:Closure)
task(name: String)
task(name: String, c:Closure)
我了解{}就是封闭体。
我不明白的是groovy如何根据https://stackoverflow.com/a/25592665/438319解释hello,其中有一个groovy编译器插件可以转换为task hello { }task hello { }task('hello', { })
我的问题:
在哪里可以找到有关进行转换的Gradle Groovy Compiler插件的信息?
因为gradle以某种方式扩展了Groovy编程语言,所以声称Gradle脚本是groovy程序在技术上是不正确的吗?
有没有办法让gradle命令打印出编译器插件运行后生成的基本groovy代码?
忽然笑
月关宝盒