Gradle 构建

2024年12月30日 | 阅读需要 5 分钟

Gradle 构建是创建 Gradle 项目的过程。当我们运行 Gradle 命令时,它会在当前目录中查找一个名为 build.gradle 的文件。该文件也称为 Gradle 构建脚本。构建配置、任务和插件都在此文件中描述。构建脚本描述了一个项目及其任务。

让我们创建一个小的 Gradle 项目,运行一些基本的 Gradle 命令,并了解 Gradle 如何管理项目。

请按照以下步骤创建和测试 Gradle 项目。

步骤 1:打开命令行并创建一个目录

首先,打开命令行并为项目创建一个目录,然后将目录更改为该目录。

让我们创建一个演示目录。

Gradle Build

步骤 2:初始化 Gradle 项目

要生成 Gradle 项目,请运行 gradle init 命令。 它将生成一个简单的项目。 通过这个项目,我们将探索和理解生成的所有内容。

当我们运行 gradle init 命令时,它会询问一些基本要求。 首先,它会询问我们要创建的项目类型。 它将给出四个选项

选择我们的需求。 因此,我们只是做一个演示项目,因此我们将选择基本选项。 要选择基本选项,请按 1Enter 键。 考虑下面的输出

Gradle Build

接下来,它会询问 DSL。 有两个可用于 DSL 的选项

Groovy 是 Gradle 提供的默认 DSL。 选择 构建脚本 DSL

Gradle Build

接下来,它会询问项目名称。 键入项目名称并按 Enter 键。 构建项目需要一段时间。 项目成功执行后,我们将收到消息 BUILD SUCCESSFUL

Gradle Build

现在我们已经成功创建了一个 Gradle 项目。 现在,我们指定的目录会发生什么情况? 考虑 Gradle 项目的以下结构。

Gradle Build

这是 Gradle 项目的默认结构。 Gradle 将为我们生成以下内容

  1. gradle 文件是用于配置当前项目的构建脚本。
  2. 一个可执行 JAR 文件用作 Gradle 包装器。
  3. Gradle 包装器的配置属性
  4. gradlew 是一个用于基于 UNIX 的操作系统的 Gradle 包装器脚本。
  5. bat 是 Windows 的 Gradle 包装器脚本。
  6. 用于配置 Gradle 构建的设置脚本

步骤 3:创建一个任务

Gradle 支持通过基于 Groovy 的 DSL 或基于 Kotlin 的 DSL 创建和管理任务的 API。 每个项目都包含一些用于基本操作的任务集合。

Gradle 支持配置项目的任务库。 例如,有一个 Copy 任务,它将文件从一个位置复制到另一个位置。 Copy 任务是 Gradle 中最常用的任务之一。

要在构建脚本中使用 Copy 任务,请按照以下步骤操作。

步骤 1:创建一个名为 src 的目录。

Gradle Build

步骤 2:在 src 目录中添加一个名为 myfile.txt 的文件。 将单行“Hello, World!”添加到其中,或者,我们也可以将其留空。

Gradle Build

build.gradle 文件中定义一个名为 Copy 的任务。 它会将 src 目录复制到一个名为 dest 的新目录。 我们不必创建 dest 目录; Copy 任务会为我们完成。

我们可以在组和描述中提供任何内容。 此外,我们可以省略它们,但这样做也会从稍后使用的任务报告中省略它们。

现在执行我们的新复制任务

Gradle Build

任务成功执行后,我们将收到 BUILD SUCCESSFUL 消息。

build.gradle 文件

build.gradle 文件是 Gradle 项目的构建脚本。 所有任务和插件都在此文件中定义。

当我们运行 Gradle 命令时,它会在当前目录中查找名为 build.gradle 的文件。 虽然我们称其为构建脚本,但严格来说,它是构建配置脚本。 构建脚本定义了一个项目及其任务。

默认的 build.gradle 文件如下所示

Gradle Build

build.gradle 文件包含三个默认部分。 它们如下所示

  • 插件: 在本节中,我们可以应用 java-library 插件来添加对 java 库的支持。
  • Repositories: 在本节中,我们可以声明内部和外部存储库来解决依赖关系。 我们可以声明 Gradle 支持的不同类型的存储库,例如 Maven、Ant 和 Ivy。
  • Dependencies: 在本节中,我们可以声明特定主题必需的依赖项。

此外,我们可以在此文件中声明其他项目相关的模块,例如任务。

显示 Gradle 项目的信息

为了理解构建的结构、依赖关系和调试问题,Gradle 提供了许多内置功能来显示项目的信息。

以下是一些显示项目信息的基本命令

列出项目

在 Gradle 中,工作区中项目的所有子项目都可以分层列出。 为此,请从项目的根目录运行以下命令。

Gradle Build

列出任务

Gradle 允许我们列出项目的所有基本任务。 要列出任务,请运行以下命令

输出

C:\Users\HiMaNshU\eclipse-workspace>gradle -q tasks
------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build.
wrapper - Generates Gradle wrapper files.
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root projec
t 'eclipse-workspace'.
components - Displays the components produced by root project 'eclipse-workspace
'. [incubating]
dependencies - Displays all dependencies declared in root project 'eclipse-works
pace'.
dependencyInsight - Displays the insight into a specific dependency in root proj
ect 'eclipse-workspace.'
dependentComponents : It displays the dependent components of components in the root pr
oject 'eclipse-workspace.' [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'eclipse-workspace.' [incubating]
projects - Displays the sub-projects of root project 'eclipse-workspace.'
properties - Displays the properties of root project 'eclipse-workspace.'
tasks - Displays the tasks runnable from root project 'eclipse-workspace.'
To see all tasks and more detail, run gradle tasks --all
To see more detail about a task, run gradle help --task <task>

要列出项目的所有任务,请运行以下命令

要显示有关任务的更多详细信息,请运行以下命令

列出依赖项

在 Gradle 中,我们可以列出按配置分解的依赖项。 要列出依赖项,请运行以下命令

输出

Gradle Build
下一个主题UML 教程