概述
我是学习一篇CSDN博客,然后总结的这篇笔记,直接看这篇笔记可能会云里雾里,所以请先参考原文:http://blog.csdn.net/innost/article/details/48228651
gradle基础:
1、使用groovy语言,groovy继承自java;
2、是一种DSL(领域相关语言),如《智取威虎山》中的行话。
3、gradle project-path:tasks ,查看Project包含哪些Task信息,gradle tasks会列出每个任务的描述,通过描述,我们大概能知道这些任务是干什么的。
4、Gradle工作包含三个阶段:
a 首先是初始化阶段。对我们前面的multi-project build而言,就是执行settings.gradle
b 下一个阶段是Configration阶段。Configration阶段的目标是解析每个project中的build.gradle。比如multi-project build例子中,解析每个子目录中的build.gradle。在这两个阶段之间,我们可以加一些定制化的Hook。这当然是通过API来添加的。Configuration阶段完了后,整个build的project以及内部的Task关系就确定了。恩?前面说过,一个Project包含很多Task,每个Task之间有依赖关系。Configuration会建立一个有向图来描述Task之间的依赖关系。所以,我们可以添加一个HOOK,即当Task关系图建立好后,执行一些操作。
c 最后一个阶段就是执行任务了。当然,任务执行完后,我们还可以加Hook。
5、Gradle主要有三种对象,这三种对象和三种不同的脚本文件对应,在gradle执行的时候,会将脚本转换成对应的对象:
a Gradle对象:当我们执行gradle xxx或者什么的时候,gradle会从默认的配置脚本中构造出一个Gradle对象。在整个执行过程中,只有这么一个对象。Gradle对象的数据类型就是Gradle。我们一般很少去定制这个默认的配置脚本。
一般是gradle的相关信息,与项目无关?
b Project对象:每一个build.gradle会转换成一个Project对象。
Project对应具体的工程,一个Project包含多少Task往往是插件决定的。
在Project中,我们要:
1 加载插件。不同插件有不同的行话,即不同的配置。我们要在Project中配置好,这样插件就知道从哪里读取源文件等.加载一个gradle文件。
还可以加载一个gradle文件。把一些通用的函数放到一个名叫utils.gradle文件里。然后在其他工程的build.gradle来加载这个utils.gradle。这样,通过一些处理,我就可以调用utils.gradle中定义的函数了。
2 设置属性。
c Settings对象:显然,每一个settings.gradle都会转换成一个Settings对象。
groovy基础:
1、动态语言,扩展了java;语言与java相通,又像一种脚本语言,groovy先编译成java类字节码,然后通过JVM来执行这个java类。
2、安装groovy,配置,需要java环境。在groovy安装目录/bin下,有一个groovyConsole.bat,双击可以打开groovy编辑环境。Ctrl+R运行代码。
3、String类型第一个字母必须大写
4、闭包就是一段用中括号{}括起来的函数,比函数灵活,不需要定义。
5、当函数的最后一个参数是闭包的话,可以省略圆括号。比如:
def testClosure(int a1,String b1, Closure closure){
//dosomething
closure() //调用闭包
}
那么调用的时候,就可以免括号!
testClosure (4, "test", {
println"i am in closure"
} )
6、在groovy中,系统自带会加载当前目录/子目录下的xxx.groovy文件(经测试,即便没有指定包名)
7、利用groovyc编译成class文件去发现问题,当出现问题时,由于groovy是编译成class文件再执行,利用jd-gui打开class文件,查看源码。
8、在变量前加@Field,变量就是全局变量,不然变量只是方法内部变量,例如:
def x = 1
def printx(){
println x
}
这句代码报错,找不到x,因为变量x不在方法printx中。
注意,在使用Field的时候需要引入:
import groovy.transform.Field
在使用过程中肯定会有很多困难,通常都是百度解决方案,我们也可以自己通过查找官方文档来解决问题,下面是三个主要的链接文档:
http://www.groovy-lang.org/api.html groovy
https://docs.gradle.org/current/javadoc/ gradle api
https://docs.gradle.org/current/dsl/ gradle DSL 语法
最后
以上就是明理戒指为你收集整理的gradle和groovy的全部内容,希望文章能够帮你解决gradle和groovy所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复