简介
Gradle构建中的两个基本概念是项目( project )和任务(task),每个构建至少包含一个项目,项目中包含一个或多个任务。在多项目构建中,一个项目可以依赖于其他项目。类似的,任务可以形成一个依赖关系图来确保他们的执行顺序
项目和任务的关系
如下图有两个项目,项目1里面有三个任务,任务A依赖任务B和任务C,那么任务C和任务B要先执行完才执行任务A。项目2里的任务执行顺序也是类似的 D -> E -> F。
什么是项目(project)
一个项目代表一个正在构建的组件(比如一个jar文件),当构建启动后,Gradle会基于build.gradle实例化一个org.gradle.api.Project类,并且能够通过project变量使其隐式可用
项目里的属性
group、name、version
- group 组不能重名,最大的范围
- name名字和maven里的artifactId一样的
- version 就是版本号
apply、dependencies、repositories、task
- apply 调用一个组件
- dependencies 里面主要是依赖的jar包坐标
- repositories 主要是用来配置下载jar包写仓库地址
- task 项目里执行的一些任务
什么是任务(task)
任务对应org.gradle.api.Task。主要包括任务动作和任务依赖。任务动作定义了一个最小的工作单元。可以定义依赖于其他任务、动作序列和执行条件。
任务里的属性
dependsOn
- dependsOn 用于表示依赖的任务
doFirst、doLast <<
-
doFirst task就是一个动作列表,在动作列表前面加一个动作
-
doLast 在动作列表末尾加一个动作,<< 两个小于号和 doLast 一个意思
-
一个任务里可以执行多次 doFirst、doLast
下图中的所有操作都是一个个任务。
了解更多: