1. 构建块

  Gradle构建中有两个基本概念:项目(Project)和任务(Task)。每个构建至少包含一个项目,项目中包含一个任务或多个任务。多项目构建中,一个项目可依赖其他项目。类似地,任务可以形成一个依赖关系图来确保其执行顺序。其关系如下图所示:

Gradle 3 -- 构建

2. 构建脚本

2.1 项目

   一个项目代表一个正在构建的组件(如一个jar文件),当构建启动后,Gradle会基于build.gradle实例化一个org.gradle.api.Project类。并且能够通过project变量使其隐式可用。

  • 确定唯一组件: group、name、version
  • apply 应用一个插件
  • dependencies 依赖jar包
  • repositories 远程依赖的仓库
  • task 声明任务
  • 属性也可以其他方式配置: ext、gradle.properties

Gradle 3 -- 构建

2.2 任务

   任务对应org.gradle.api.Task。主要包括任务动作和任务依赖。任务动作定义了一个最小的工作单元。可以定义其他任务、动作序列和执行条件。

  • dependsOn  动作依赖
  • doFirst、doLast<<  添加动作依赖,是一个列表
  • 任务是可选的。

2.3 自定义任务

可写成IDEA插件

Gradle 3 -- 构建

 

3. 构建生命周期

生命周期分为三个阶段:

  1. 初始化 à 初始化哪些项目参与构建,比如多模块项目
  2. 配置   à 配置Task,及执行顺序
  3. 执行   à 执行Task,比如doFirst、doLast

此外,还有Hook(钩子)。

相关文章: