对于希望构建自动化工具具有灵活性和性能的 Java 开发人员来说,Gradle 是一个流行的选择。在这篇文章中,我们概述了Gradle,它是如何工作的,为什么需要它?
什么是Gradle?
Gradle 是一种现代自动化工具,用于项目构建自动化的软件开发。
“自动化工具”究竟是什么意思? 好吧,这就是你可能正在想的——你点击一个按钮并根据你的自动化操作接收结果。
话虽如此,让我们从一般解释跳到软件开发领域,因为这是 Gradle 使用最多的地方。 现在你口袋里的任何应用程序(我的意思是在你的智能手机中)都是自动化的产物。 该应用程序由许多源代码文件组成,并使用许多库。 组装最终产品需要很多步骤,称为应用程序的“构建”。 构建的输出通常是经过测试的应用程序工件。 如果它通过测试,它将被运送到你的智能手机。
你是否注意到每周都会在智能手机应用程序中看到一项新功能? 每次更新时,你都会收到每个应用程序的新版本。 事实上,在你收到更新之前,可能已经完成了许多构建。
那么,如果构建过程很长,你怎么可能仍然如此快速地收到这些更新? 答案——自动化工具。 Gradle 允许你指定项目构建(将源代码放在一起,链接库等),然后每次进行更改时,你只需“点击按钮”,Gradle 就会自动为你完成所有步骤。
Gradle 经常用于 JVM 应用程序的开发,使用 Java 或 Kotlin 等语言编写。 它的直接竞争对手是Maven和Ant。 虽然这些工具在很大程度上执行相同的功能,但它们的执行方式存在巨大差异。 你可以在此处查看 Gradle 和 Maven 之间的官方比较。
Gradle是如何构建工作的?
Gradle 构建配置存储在名为 build.gradle 的文件中,该文件基于领域特定语言 (DSL)。 这是一种结合了声明式和命令式结构的专用脚本语言。 该配置文件位于项目的根文件夹中,定义了一个项目、其任务、依赖项以及其他与项目相关的项。 Gradle 支持多项目构建,其中每个项目在项目根文件夹中都有自己的 build.gradle 文件。
“任务”是一个原子工作单元,它描述了当它被调用时应该做什么。 一个构建可以被描述为一组任务。 每个任务由动作、输入和输出组成; 每个部分都是可选的。
要查看 Gradle 项目的所有可用任务的列表,你可以在命令行中执行“gradle tasks”。 对于简单的 Java 项目,你可以从以下类别的预定义任务中进行选择:
构建任务
构建设置任务
分发任务
文档任务
帮助任务
验证任务
其他任务
为什么需要 Gradle?
管理项目生命周期是一项可以完成的复杂任务,但需要付出巨大的努力。 由于其复杂性,手动完成这些任务时很容易出错。
以依赖管理为例。 你能想象每次更新时手动下载和配置项目使用的库吗? 或者手动执行所有命令来编译类,将它们移动到正确的文件夹,或者手动执行测试呢? 我可以继续命名所有步骤,但我认为你明白这不是这样做的方法。
更有效的方法是使用 Gradle 之类的自动化工具,它可以在需要时为你做任何事情。 如果你需要自动化一些 Gradle 无法开箱即用的功能,你可以编写一次自己的任务并依靠你的手动工作。
Gradle 是一个非常有用的项目生命周期和构建管理工具。与其问你是否应该使用构建自动化工具,不如问该使用哪种工具。Gradle 已经存在超过 13 年,并被许多开发团队广泛采用。 虽然它比它的竞争对手 Maven 年轻一点,但 Gradle 具有相同的功能,并且在某些情况下优于 Maven。
发表评论 取消回复