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 允许您将常见的的设计原则应用于您的构建。它将为您提供完美的构建结构,以便您可以设计结构良好且易于维护、易于理解的构建。

强大的 API

通过使用此 API,您可以监控并自定义其配置和执行行为的核心。

Gradle 可扩展

Gradle 可以轻松提高生产力,从简单和单个项目构建到大型企业多项目构建。

多项目构建

Gradle 支持多项目构建和部分构建。如果您构建一个子项目,Gradle 会负责构建该子项目所依赖的所有子项目。

不同的构建管理方式

Gradle 支持不同的策略来管理您的依赖项。

Gradle 是首个构建集成工具

Gradle 完全支持您的 ANT 任务、Maven 和 Ivy 存储库基础架构,用于发布和检索依赖项。它还提供了一个转换器,用于将 Maven pom.xml 转换为 Gradle 脚本。

易于迁移

Gradle 可以轻松适应任何结构。因此,您始终可以在同一个分支中开发您的 Gradle 构建,您可以在其中构建实时脚本。

Gradle Wrapper

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 为其用户提供了更多好处。

广告