Gradle - 概述
在本章中,我们将了解为什么需要开发 Gradle,它的特点是什么以及为什么使用 Groovy 编程语言来开发 Gradle。
Gradle 的历史
Ant 和 Maven 在 JAVA 市场上取得了相当大的成功。 Ant 是 2000 年发布的第一个构建工具,它是基于过程编程思想开发的。 后来,在 Apache-IVY 的帮助下,它通过网络接受插件和依赖管理的能力得到了改进。
Ant 的主要缺点包括 −
- XML 被用作编写构建脚本的格式。
- 分层不利于过程式编程,并且
- XML 相对难以管理。
Maven 于 2004 年推出。它比 ANT 有很多改进。 它能够改变其结构,并且 XML 可用于编写构建规范。 Maven 依赖于约定并且能够通过网络下载依赖项。
Maven 的主要好处包括 −
Maven的生命周期,同时多个项目持续遵循同一个生命周期。
Maven 在依赖管理方面面临的一些问题包括 −
不处理同一个库版本之间的冲突。
与在 ANT 中编写构建脚本相比,在 Maven 中编写复杂的自定义构建脚本比较困难。
最后,Gradle 在 2012 年出现,这两种工具都具有一些高效的功能。
Gradle 的特点
Gradle 提供的功能列表。
声明式构建和按约定构建
Gradle 可用于基于 Groovy 语言的单独领域特定语言 (DSL)。
它提供了声明性语言元素。 这些元素还为 Java、Groovy、OSGI、Web 和 Scala 提供按惯例构建的支持。
基于依赖的编程语言
声明性语言位于通用任务图的顶部,可以在构建中得到完全支持。
构建您的构建
Gradle 允许您将通用设计原则应用于您的构建。 它将为您提供一个完美的构建结构,这样您就可以设计出结构良好、易于维护、易于理解的构建。
Deep API
通过使用此 API,您可以监控和自定义其对核心的配置和执行行为。
Gradle scales
Gradle 可以轻松提高生产力,从简单的单个项目构建到大型企业多项目构建。
多项目构建
Gradle 支持多项目构建和部分构建。 如果您构建一个子项目,Gradle 会负责构建该子项目所依赖的所有子项目。
管理构建的不同方法
Gradle 支持不同的策略来管理您的依赖项。
Gradle 是第一个构建集成工具
Gradle 完全支持您的 ANT 任务、Maven 和 lvy 存储库基础架构,用于发布和检索依赖项。 它还提供了一个转换器,用于将 Maven pom.xml 转换为 Gradle 脚本。
易于迁移
Gradle 可以轻松适应任何结构。 因此,您始终可以在同一个分支中开发您的 Gradle 构建,在那里您可以构建实时脚本。
Gradle 包装器
Gradle Wrapper 允许您在未安装 Gradle 的机器上执行 Gradle 构建。 这对于服务器的持续集成很有用。
免费开源
Gradle 是一个开源项目,并根据 Apache 软件许可证 (ASL) 获得许可。
Groovy
Gradle 的构建脚本是用 Groovy 编程语言编写的。 Gradle 的整个设计是面向作为一种语言使用的,而不是作为一个僵化的框架。 Groovy 允许您使用一些抽象来编写自己的脚本。 整个 Gradle API 完全使用 Groovy 语言设计。
Gradle 为什么选择 Groovy?
完整的 Gradle API 是使用 Groovy 语言设计的。 这是内部 DSL 优于 XML 的优势。 Gradle 是一个通用的构建工具,主要关注 Java 项目。
在这样的项目中,团队成员会非常熟悉 Java,构建应该对所有团队成员尽可能透明。
Python、Groovy 或 Ruby 等语言更适合构建框架。 选择 Groovy 的原因是,它为使用 Java 的人提供了迄今为止最大的透明度。 Groovy 的基本语法与 Java 相同,Groovy 为其用户提供了更多好处。