【发布时间】:2019-07-05 16:23:41
【问题描述】:
我很难理解 Gradle 的 Groovy DSL 是如何工作的。
不幸的是,Gradle 是我在日常工作中遇到的 Groovy 的主要用例,而且我注意到对于许多开发人员来说,他们完全通过 Gradle 接触到 Groovy。因此,大多数 Gradle 用户对 Groovy 的掌握非常有限。
在我对 Groovy 的有限理解中,以下 sintax tokenA tokenB { tokenC } 其中所有标记都不是语言关键字,tokenA 将是我们使用参数 tokenB 调用的方法,最后一个参数是闭包。我想我是正确的,但我知道我错了,因为在 tokenB 之后可能需要一个逗号才能使分析正确。
正如您已经知道的那样,我绝不是 Groovy 开发人员,而且我认为在不学习 Groovy 基础知识的情况下使用 Gradle 是一件坏事,因为它限制了我充分利用其功能。但不幸的是,我唯一可行的选择是通过示例学习而不学习理论。
我确实检查了一些类似的问题,例如 this one,但没有对我来说足够清晰或完整的答案。
TL;DR
- 标记
task myTask { doLast {} }在 Groovy 中是如何解释的? - Gradle 是否使用标准的 Groovy 解释器?
- 当
task而不是def或后面的类型时,myTask如何解释为标识符? - 如果稍后我在文件中添加了
myTask { dependsOn myOtherTask },如何解释?
【问题讨论】: