首页 > 其他 > 详细

学习Gradle以及Groovy

时间:2019-09-11 19:33:54      阅读:66      评论:0      收藏:0      [点我收藏+]
学习了邓大佬的gradle文章,人家也对得起深入理解几个字了,首先讲了groovy这门语言就是Java系的语言,相较于Java最大的不同就是闭包,由于这个特性不习惯写这些东西的还是比较难理解的,邓说可以理解成c/c plus那种函数指针

groovy里面的闭包定义是一个大括号{},而当你使用闭包的时候可以省掉(),因此有些方法看不到他的闭包,例如list的 list.each{ it - > println(it) } 实际上each里面就有一个闭包,这种语法也和kotlin差不多,kt也是这玩意,看起来令人费解

接着又讲到grdle执行的都是很多plugin,这些plugin都是由各种task组成的,编译时期会先构建一个task 或者 plugin之间的依赖有向图,根据图依次往下执行不同的task

他举例她自己写的util gradle,apply是gradle的一个方法,他的实现也是闭包,gradle编译的时候会产生gradle对象和project对象,他们分别有自己的属性等,

gradle是一个编译框架和make类似等,主要构成是task和transform,task就是我们经常执行的一些任务, 例如:gradle clean

transform过程则是在于gradle的编译过程等其中, 主要阶段就是: init - > config - > exec 而你可以在这些过程中增加自己的个性化操作,例如使用asm字节码插桩搞一些自定义的东西,例如打点,统计,log等等,
这些因为都是构建期,所以你可以动态加进去任何你想要的东西,这些主要就是继承transform去实现在before或者after增加东西或者过程等等

gradle有一些语法 <= 这种就意味着 dolast在某一个action的最后执行这玩意,相当于gradle的语法糖?这糖md不好吃啊。在闭包里如果不加这个就会优先执行,相当于dofirst执行的这个action。。

实际上通读下来人家的文章,发现人家的学习方法就是查询官方文档,查询对应api等等,另外也体现了人家基本功的扎实,学习这些其实都是一同百通的,各种语言看起来眼花缭乱,除了特异性,共通之处其实更多,最主要的是思想,
Java kt groovy dart py c plus 等等,基础好了,分析出来语言的必备要素,其实都差不了太多

学习Gradle以及Groovy

原文:https://www.cnblogs.com/pjex/p/11507852.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!