我是Gradle和Groovy的新手,并且在定义gradle任务时试图了解groovy级别的情况.
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
Run Code Online (Sandbox Code Playgroud)
通过阅读"Gradle In Action"一书,我知道这task hello {}是task()对groovy Project界面方法的真正调用.在页77上,它显示在Project接口上有4个称为任务的方法
task(args: Map<String,?>, name:String)
task(args: Map<String,?>, name:String, c:Closure)
task(name: String)
task(name: String, c:Closure)
Run Code Online (Sandbox Code Playgroud)
我明白这{}是封闭体.
我不明白的是hello,task hello { }根据/sf/answers/1791486581/,groovy如何解释有一个groovy编译器插件转换task hello { }成task('hello', { })
我的问题:
在哪里可以找到有关转换的Gradle Groovy编译器插件的信息?
是否Gradle脚本是groovy程序在技术上是不正确的,因为gradle以某种方式扩展了Groovy编程语言?
有没有办法让gradle命令打印出编译器插件运行后生成的基本groovy代码?