Groovy 语法
文章目录
本文不是从零教 groovy,而是一些基础的 groovy 语法,够用就行 另外,目前Gradle原生支持kts,简单来说就是用kt的语法来配置Gradle,新入门的话足够用 后续的文章会加大kts的使用比例,来替代 groovy
基础类型
更多的是使用别人提供的插件,我们在使用的时候主要就是配置而已 gradle 脚本中包含了三种使用方式
- 闭包
- 方法
.
的调用
其中我们最常见的其实是闭包,其次是方法,最后才是.
的调用
方法
常见的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 的值