我很难理解 Gradle 的 Groovy DSL 是如何工作的。
不幸的是,Gradle 是我在日常工作中遇到的 Groovy 的主要用例,而且我注意到对于许多开发人员来说,他们对 Groovy 的接触完全是通过 Gradle 进行的。因此,大多数 Gradle 用户对 Groovy 的掌握非常有限。
在我对 Groovy 的有限理解中,以下tokenA tokenB { tokenC }所有标记都不是语言关键字的语法tokenA将是我们使用参数调用的方法,tokenB最后一个参数是闭包。我想我是对的,但我知道我错了,因为在 tokenB 之后可能需要有一个逗号才能使分析正确。
正如您已经知道的那样,我绝不是 Groovy 开发人员,而且我认为在不学习 Groovy 基础知识的情况下使用 Gradle 是一件坏事,因为它限制了我充分利用其功能。但不幸的是,我唯一可行的选择是通过例子学习而不学习理论。
我没有检查出像一些类似的问题,这一次却没有答案,其中明确或完全够我。
TL; 博士
task myTask { doLast {} }在 Groovy 中如何解释令牌?myTask当它背后有task和没有def或类型时如何解释为标识符?myTask { dependsOn myOtherTask }如何解释?