我是Gradle和Groovy的新手,并试图了解定义gradle任务时在groovy级别正在发生的事情。
task hello {
println "configuring task hello"
doLast {
println "hello there"
}
}
通过阅读《 Gradle In Action》一书,我知道task hello {}
确实是task()
对GroovyProject
接口方法的呼唤。在第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代码?