Gradle 介绍

Gradle 是一个快速的、可信的、适应性强的自动化构建工具,它是开源的。它使用优雅的并且可扩展的描述性语言。其他的介绍在官网可以了解。

Gradle Wrapper

官方建议使用 Gradle Wrapper 来执行任何构建,有如下好处:

  1. 统一 Gradle 版本,并且是自动化的统一,当多个用户协作开发项目时,不需要每个人手动配置 Gradle,可由 IDE(如 IntelliJ IDEA) 自动配置
  2. 更改简单的 Wrapper 定义即可为不同用户配置不同的 Gradle 版本。
  3. 更改简单的 Wrapper 定义即可为不同的构建环境配置不同的 Gradle 版本。

基于以上好处,我们就开始使用 Gradle Wrapper 来构建一个新的项目。

Gradle 使用

手动安装 Gradle

使用 Gradle Wrapper 需要一个提前安装好的 Gradle,所以我们需要先安装一个可用的 Gradle,安装的这个 Gradle 只用于初始化用 Gradle Wrapper 构建的项目。

安装 Gradle 的步骤很简单,就是下载 Gradle 发行包,然后解压并配置环境变量(不配置环境变量也可以,在执行命令的时候要带上解压后 Gradle 的 bin 目录的相对路径或者绝对路径)。

此处下载的是 gradle-8.4-bin.zip 文件。

将文件解压到 D:\tools,那么目录结构如下:

一、Gradle 手动创建一个项目-LMLPHP
新增环境变量 GRADLE_HOME,值为 D:\tools\gradle-8.4。编辑 PATH 变量,增加条目 %GRADLE_HOME%\bin

打开 CMD 窗口,输入以下命令测试 Gradle 是否安装成功。

$ gradle -v


------------------------------------------------------------
Gradle 8.4
------------------------------------------------------------

Build time:   2023-10-04 20:52:13 UTC
Revision:     e9251e572c9bd1d01e503a0dfdf43aedaeecdc3f

Kotlin:       1.9.10
Groovy:       3.0.17
Ant:          Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM:          11.0.17 (Oracle Corporation 11.0.17+10-LTS-269)
OS:           Windows 11 10.0 amd64

初始化

初始化的构建任务名称是 wrapper,在初始化之前先介绍一下这个任务支持的参数:

  • --gradle-version,作用是指定指定构建 Wrapper 的 Gradle 的版本,默认情况下是使用和执行 wrapper 任务相同的 Gradle 的版本,指定了之后会下载指定版本的 Gradle 并执行 wrapper 构建。使用方式是在后面增加 --gradle-version=xxx,此属性允许以下值:
    • latest
    • release-candidate
    • nightly
    • release-nightly
    • 具体的版本号,比如:7.5
  • --distribution-type,Wrapper 使用的 Gradle 的类型,分别有 bin(默认)all。这两种区别是 bin 仅含有二进制文件,而 all 还包含源码和 demo 代码,可以在 IDEA 中编写 Gradle 文件获得代码自动补全。当然下载 all 类型的文件的体积比 bin 的大。
  • --gradle-distribution-url,Wrapper 下载 Gradle 发布包的 HTTP 链接。这个默认是使用官方的链接,当然可以替换成国内的镜像源,速度 可能 会快一点。
  • --gradle-distribution-sha256-sum,验证下载的 Gradle 文件的 SHA256 哈希值,确保文件在下载过程中没有被篡改或者损坏。
  • --network-timeout,指定下载 Gradle 文件的超时时间,默认 10000,单位是毫秒(ms)。
  • --no-validate-url--validate-url,这两个是成对的参数,表示是否启用对 URL(--gradle-distribution-url参数指定) 的验证,默认启用。

到现在终于可以真正初始化了。

  1. 首先新建 D:\test\gradle-wrapper-test 目录。

  2. 新建文件 settings.gradle,表示这是个 Gradle 项目。

  3. 在这个目录里面运行 CMD 命令:

    $ gradle wrapper --gradle-version=7.5 --distribution-type=all
    

执行完成后,查看 gradle\wrapper\gradle-wrapper.properties文件:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

就这么一步就已经完成了使用 Wrapper 方式创建 Gradle 项目。

另外假如需要使用 Gradle 构建此项目,比如运行 build 任务,注意要使用项目下的 gradlew.bat(Unix 系统使用 gradlew)。

还有一个地方需要说明,上面的 gradle-wrapper.properties 文件中 distributionBasezipStoreBase 的值都是 GRADLE_USER_HOME(不是 GRADLE_HOME),此处 GRADLE_USER_HOME 是环境变量,Gradle 下载的发行包以及所有的依赖都在这个目录下面,默认的目录是 ${user_home}\.gradle,而 ${user_home} 一般在 C 盘,所以如果想要节省 C 盘空间的话,可以将这个环境变量明确配置到别的位置。

11-30 15:39