Groovy 语法

文章目录

本文不是从零教 groovy,而是一些基础的 groovy 语法,够用就行 另外,目前Gradle原生支持kts,简单来说就是用kt的语法来配置Gradle,新入门的话足够用 后续的文章会加大kts的使用比例,来替代 groovy

基础类型

更多的是使用别人提供的插件,我们在使用的时候主要就是配置而已 gradle 脚本中包含了三种使用方式

  1. 闭包
  2. 方法
  3. .的调用

其中我们最常见的其实是闭包,其次是方法,最后才是.的调用

方法

常见的apply其实就是调用 PluginAware.apply方法,from:则属于groovy的语法糖, from是方法的参数,冒号后跟的是参数

1apply from: 'xxx.groovy' // 这里的 apply 是一个自带的方法,使用的参数
2
3// 如果是 Java语法,则是如下写法:
4HashMap<String, ?> applies = new HashMap<String, ?>();
5applies.put("plugin", MyPlugin)
6apply(applies)

然后 java中的方法调用方法是 println("xxx");groovy 中可以使用 println ""; 所以,常见的设置maven仓库的方式 maven { url '' }其实是先调用了 方法,然后在闭包中调用 setUrl 方法,参考

闭包

groovy 的闭包很有意思 大量的闭包的签名是这样的

1MavenArtifactRepository maven(Action<? super MavenArtifactRepository> action)

然后结合语法糖,形成了如下这种闭包

1maven {
2    url 'xxxx'
3}

其实,这里的maven调用的是方法maven,同时,如果有需要,还可以使用变量来接收返回结果,并修改结果

. 的方式

1def m = maven {
2    url 'xxxx'
3}
4m.url = 'yyyy'

这样,会修改 url 的值