想写gardle很长时间了,但是一直没写,现在,是时候写一下gradle文档中,重要的部分了。
1.依赖管理
|
|
- respositories 声明我们要使用的仓库
- dependencies 我们要依赖的一些东西
- compile 依赖需要编译生产项目的来源
- runtime 依赖运行时字节码
- testCompile 依赖测试代码
- testRuntime
通常,我们声明仓库有两种方式
- 使用中央仓库 mavenCentral()
使用自己的仓库
使用远程仓库
123456repositories {maven {// 自己远程仓库地址url "http://repo.mycompany.com/maven2"}}使用本地仓库
123456repositories {ivy {// URL can refer to a local directoryurl "../local-repo"}}
再说我们的依赖包管理,同样有两种方式
|
|
我们最常用的是第一种方法。
有的时候,可能会存在包冲突,这时候我们可以通过如下代码,排除
|
|
关于如何上传仓库这里暂时不介绍,可以看这里
2.编写gradle脚本
2.1 Project API
|
|
我们可以通过project得到我们project的一些属性,关于可以得到哪些舒心,我这里就不说了。动手才是王道。
2.2 如何定义变量
和大多数脚本语言一下,groovy也是弱类型语言,同样通过def关键字定义变量。
|
|
2.3 Extra 属性
|
|
2.4 TASK
gradle内置了许多现成的tasks,在org.gradle.api.tasks包下面,需要的时候我们可以查阅用法。gradle api文档地址,关于Api的使用,这里就不介绍了,文档上使用方法很全。
2.5 TASK之间的依赖关系
我们可以使用dependsOn来指明task之间的关系。
|
|
如例子,taskX是依赖y的,也就是说,在执行x的时候,会先执行y。
2.6 有序的TASKS
- shouldRunAfter
- mustRunAfter
2.7 给task添加描述
|
|
2.8 跳过task不执行
- onlyIf,满足条件的情况下才执行
|
|
- 用异常
|
|
- enabled属性
|
|
3.如何操作文件
我们可以利用Project.file 方法去获取文件
|
|
然后利用Project.files方法去获取FileCollection(文件集合,一些列文件)
|
|
可以利用Project.fileTree获取文件树。
|
|
我们可以操作压缩文件。
|
|
文件复制,这里我们要用到gradle api里面的copy去做。关于如何使用这就不介绍了,上面有说到过api地址。
关于文件的复制、删除、重命名、过滤等都是api的使用,这里就不说了。
4. 如何打log
我们可以通过logger的一些方法输出log日志
|
|
5. gradle plugins
|
|
|
|
|
|
三种方式。
6.总结
上面的一些用法,全部来自于文档.