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 提供基于 Groovy 语言的单独领域特定语言 (DSL)。
它提供声明性语言元素。这些元素还为 Java、Groovy、OSGI、Web 和 Scala 提供按约定构建支持。
基于依赖的编程语言
声明性语言位于通用任务图的顶部,可以在构建中得到完全支持。
构建您的构建
Gradle 允许您将常见的设计原则应用于您的构建。它将为您提供完美的构建结构,以便您可以设计结构良好、易于维护、易于理解的构建。
深度API
通过使用此 API,您可以从核心监控和自定义其配置和执行Behave。
等级量表
Gradle 可以轻松提高生产力,从简单的单个项目构建到大型企业多项目构建。
多项目构建
Gradle 支持多项目构建和部分构建。如果您构建子项目,Gradle 会负责构建该子项目所依赖的所有子项目。
管理构建的不同方式
Gradle 支持不同的策略来管理您的依赖项。
Gradle 是第一个构建集成工具
Gradle 完全支持您的 ANT 任务、Maven 和 lvy 存储库基础设施,用于发布和检索依赖项。它还提供了一个转换器,用于将 Maven pom.xml 转换为 Gradle 脚本。
易于迁移
Gradle 可以轻松适应任何结构。因此,您始终可以在同一分支中开发 Gradle 构建,您可以在其中构建实时脚本。
Gradle 包装器
Gradle Wrapper 允许您在未安装 Gradle 的计算机上执行 Gradle 构建。这对于服务器的持续集成很有用。
免费开源
Gradle 是一个开源项目,并根据 Apache 软件许可证 (ASL) 获得许可。
格罗维
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 为其用户提供了更多好处。