Gradle 简介
Gradle 是一个开源的项目自动化构建、部署、打包发布工具,在 Apach Ant 与 Apach
Maven 的基础上,基于 Groovy 的特 定 领域 语言 (DSL) 来 声明项 目设置 (目 前也 支持
Kotlin),抛弃了基于 XML 的繁琐配置。
一、Gradle 提供的功能
一个像 Ant 一样非常灵活而通用的构建工具。
按 Maven 的方式的基于约定的框架,而且是可切换的。
非常强大的多项目构建支持。
(基于 Apache Ivy 的)非常强大的依赖管理。
完全支持已有的 Maven 或 Ivy 仓库结构。
支持传递性依赖管理,而不需要远程仓库或是fpom.xml以及fivy.xml文件。
Ant 任务和构建是 Gradle 的第一要素。
使用 Groovy 语言的构建脚本。
丰富的领域模型来描述项目构建。
二、Gradle 特性
基于声明的构建和基于约定的构建
Gradle 的核心在于基于 Groovy 的丰富而可扩展的域描述语言(DSL)。Groovy 通过
声明性的语言元素将基于声明的构建推向下层,可以按想要的方式进行组合。这些元
素为支持 Java,Groovy,OSGi,Web 和 Scala 项目提供了基于约定的构建。并且,这
种声明性的语言是可以扩展的,能够添加新的或增强现有的语言元素。因此,它提供
了简明、可维护和易理解的构建。
为以依赖为基础的编程方式提供语言支持
声明性语言优点在于通用任务图顶部,在构建中充分利用。它提供了最大限度的
灵活性,以让 Gradle 适应特殊需求。
构建结构化
Gradle 的灵活和丰富性最终能够支持在构建中应用通用的设计模式。例如,它可
以很容易地将项目的构建拆分为多个可重用的模块,最后再进行组装,但不要强制地
进行模块的拆分。不要把原本在一起的东西强行分开(比如在你的项目结构里),从
而避免让你的构建变成一场噩梦。最后,可以创建一个结构良好,易于维护,易于理
解的构建。
深度fAPI
Gradle 允许你在构建执行的整个生命周期,对它的核心配置及执行行为进行监视
并自定义。
Gradle 的扩展
Gradle 有非常良好的扩展性。从简单的单项目构建,到庞大的多项目构建,它都
能显著地提升你的效率。这才是真正的结构化构建。通过最先进的增量构建功能,它
可以解决许多大型企业所面临的性能瓶颈问题。
多项目构建
Gradle 对多项目构建的支持非常出色。项目依赖是首先需要考虑的问题。Gradle
允许你在多项目构建当中对项目依赖关系进行建模,因为它们才是你真正的问题域。f
Gradle 遵守你的布局。