Gradle构建脚本在语法上是否有效Groovy?

Mar*_* VY 3 groovy gradle

build.gradle文件是一个语法上有效的Groovy脚本吗?如果正确的类在类路径中,它会编译吗?例如,假设你有task hello{}.如果我理解正确,这会创建一个Task类型的变量,其名称为hello.但是在Groovy中肯定不可能这样做?变量用声明def.由于未声明的标识符,为什么这不会失败?

Vam*_*ire 7

不,Gradle脚本不是有效的Groovy脚本.Gradle正在使用基于Groovy的DSL.除其他外,这意味着Gradle提供的AST转换器将提供的DSL转换为有效的Groovy代码,然后编译并执行.