1. Gradle是一种通用的构建工具

Gradle允许您构建任何软件,因为它几乎没有假设您要构建的内容或应该如何完成。最值得注意的限制是依赖管理目前仅支持Maven和Ivy兼容的存储库和文件系统。

这并不意味着您必须做很多工作来创建构建。通过插件添加一层约定和预构建功能,Gradle可以轻松构建常见类型的项目 - 比如Java库。您甚至可以创建和发布自定义插件来封装您自己的约定和构建功能

2.核心模型基于任务

Gradle将其构建模型定义为任务(工作单元)的有向无环图(DAG)。这意味着构建本质上配置了一组任务,并根据它们的依赖关系将它们连接在一起,以创建该DAG。创建任务图后,Gradle将确定需要以哪种顺序运行哪些任务,然后继续执行它们。

3. Gradle有几个固定的构建阶段

了解Gradle分三个阶段评估和执行构建脚本非常重要:

  1. 初始化

    为构建设置环境并确定将参与其中的项目。

  2. 组态

    构建和配置构建的任务图,然后根据用户想要运行的任务确定需要运行的任务和顺序。

  3. 执行

    运行在配置阶段结束时选择的任务。

这些阶段构成了Gradle的构建生命周期

精心设计的构建脚本主要由声明性配置而非命令式逻辑组成。许多此类构建还具有任务操作,通过doLast {}doFirst {}块 - 在执行阶段进行评估。这很重要,因为在配置阶段评估的代码不会看到在执行阶段发生的更改。

精心设计的构建脚本描述构建软件所需的步骤,而不是这些步骤应该如何完成工作。这是自定义任务类型和插件的工作。

Gradle附带了自己的Groovy库,因此不需要安装Groovy。Gradle忽略任何现有的Groovy安装。Gradle使用它在路径中找到的任何JDK。

scans.gradle.com 配置:

Gradle构建扫描可帮助您了解构建结果,提高构建性能,并协作以更快地解决问题。

plugins {
    id 'com.gradle.build-scan' version '2.3'
    # 应用构建扫描插件
}

buildScan {
    termsOfServiceUrl = 'https://gradle.com/terms-of-service'

    termsOfServiceAgree = 'yes'      
    # 配置接受服务条款

    publishAlways()                                         # 每次构建运行时发布构建扫描
}

构建扫描插件必须仅应用于根项目,而不应用于子项目。

Gradle Build Scan Plugin 2.3

持续更新中…