Gradle - 创建 Gradle 构建

本文地址:Gradle - 创建 Gradle 构建

根据此教程,你可以创建一个小型 Gradle 项目,这里面会涉及一些基础的 Gradle 命令,你可以对 Gradle 是如何管理项目的有个深刻的理解。

你需要准备

  • 大约 11 分钟的时间
  • 一个终端工具(Terminal)
  • 一个 Java 运行时环境(JRE)或者 Java 开发工具(JDK),Java 版本需要在 1.8 以上。
  • 一个 Gradle 发布版本,版本最好在 4.10.3 及以上。

初始化一个项目

> mkdir basic-demo
> cd basic-demo

现在就可以使用 Gradle 的 init 命令生成一个简单的项目了。我们将探索生成的所有东西,以便于你能知道发生了什么。

> gradle init
Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 3s
2 actionable tasks: 2 executed

运行完这个命令后应该会显示“BUILD SUCCESSFUL”,并且会生成以下 “空” 项目。如果没有执行成功,请检查一下 Gradle 是否正确安装了,并且你要确保你配置了正确的 JAVA_HOME环境。

Gradle 生成了如下内容:

Groovy

├── build.gradle  
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar  
│       └── gradle-wrapper.properties  
├── gradlew  
├── gradlew.bat  
└── settings.gradle  
  • build.gradle 用于配置当前项目的 Gradle 构建脚本。
  • gradle-wrapper.jar 是 Gradle Wrapper 的可执行 JAR。
  • gradle-wrapper.properties 是 Gradle Wrapper 的配置内容。
  • gradlew是类 Unix 系统的 Gradle Wrapper 脚本。
  • gradlew.bat是 Windows 的Gradle Wrapper 脚本。
  • settings.gradle 是 Gradle 用于配置 Gradle 构建的设置脚本。

好啦!就这样,我们完成了基本的指导,但是你可能还想知道如何在项目中使用 Gradle。我们继续。

创建一个任务

Gradle 使用基于 Groovy 或者 Kotlin 的语言,给我们提供了一系列的 API,用于创建和配置任务。一个 Project 包含一系列的Tasks,每个 task 都会执行一些基本的操作。

Gradle 附带了一个可以在您自己的项目中配置的任务库。例如,有一个核心的 type 叫做 Copy,它会从一个地方复制文件到另一个地方。
Copy task 非常有用(可以参考 see the documentation 获取详情),但是在这里,我们简化一下,执行以下步骤:

  1. 创建一个文件夹 src
  2. src 文件夹下增加一个文件 myfile.txt 。文件内容你可以随便写(也可以是空的),但是为了方便我们增加一行 Hello, World! 在里面。
  3. 在 build 文件中定义一个 Copy (注意大小写)类型的任务copy,复制 src 文件夹到一个新的文件夹 dest 中。(我们不需要手动创建 dest 文件夹,task 会自动帮我们创建。)

build.gradle

task copy(type: Copy, group: "Custom", description: "Copies sources to the dest directory"){
	from "src"
	into "dest"
}

其中,groupdescription你可以随便写。你也可以省略,但是省略后在后面的repost task 中这些内容也会省略。

现在执行一下 copy task。

❯ ./gradlew copy
> Task :copy

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

检查一下,在 dest 目录中生成了一个新的myfile.txt文件,它的内容和我们在 src 目录中的文件的内容是一样的。

应用插件 plugin

Gradle 提供了一系列的插件,有许多插件在 the Gradle plugin portal 中可以找到。该发行版附带的其中一个插件是 base 插件。结合名为 Zip 的一个核心 type,你可以使创建一个 zip 压缩档,并且可以指定名字和位置。

使用plugins语法增加 base 插件到你的 build 脚本文件中。请确保在文件的最上面增加plugins{}块。

build.gradle

plugins {
    id "base"
}

... rest of the build file ...

然后可以增加一个任务对 src 目录创建一个 zip 压缩档。

build.gradle

task zip(type: Zip, group: "Archive", description: "Archives sources in a zip file"){
	from "src"
	setArchiveName "basic-demo-1.0.zip"
}

base 插件和 settings 一起工作可以在 build/distributions 文件夹下创建一个名为 “basic-demo-1.0.zip” 的压缩文件。

然后,运行新的 zip task,可以看到我们期望的 zip 压缩文件已经生成了。

❯ ./gradlew zip
> Task :zip

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

继续探索并调试你的 build

我们还能使用 Gradle 在我们的新项目中做什么呢?这儿有一份完整的列表可以查看: reference to the command-line interface

发现可用的 tasks

tasks 命令会列出你可以调用的 Gradle tasks,其中包含 base 插件中的,和你自己增加定制的。

❯ ./gradlew tasks

分析调试你的 build

Gradle 还提供了一个基于 Web 的丰富的构建视图,称为构建扫描(build scan)。

使用 --scan 参数或者在项目中显式应用 scan 插件,就可以免费在 scans.gradle.com 上创建构建扫描。将构建扫描发布到 scans.gradle.com 上会将此数据传输到 Gradle 服务器。想要将你的数据放在你自己的服务器上,请查看 Gradle Enterprise

当执行 task 的时候可以尝试使用 --scan 参数创建一个 build scan。

❯ ./gradlew zip --scan

BUILD SUCCESSFUL in 0s
1 actionable task: 1 up-to-date

Publishing a build scan to scans.gradle.com requires accepting the Terms of Service defined at https://scans.gradle.com/terms-of-service. Do you accept these terms? [yes, no]
Gradle Cloud Services license agreement accepted.

Publishing build scan...
https://gradle.com/s/repnge6srr5qs

发现可用的配置

properties 命令会展示关于你的项目的属性。

❯ ./gradlew properties

输出会比较多,这里我们列出一小部分可用的配置。

> Task :properties

------------------------------------------------------------
Root project
------------------------------------------------------------

buildDir: /Users/.../basic-demo/build
buildFile: /Users/.../basic-demo/build.gradle
description: null
group:
name: basic-demo
projectDir: /Users/.../basic-demo
version: unspecified

BUILD SUCCESSFUL

项目的 name 默认适合目录名相同的。你也可以指定 groupversion 属性,但是现在我们使用的是它们的默认值。

buildFile 属性是 build 脚本的全路径,它默认使用的是项目目录。

我们可以改变许多属性。例如,我们可以增加以下内容到 build 脚本文件中,重新执行 gradle properties

description = "A trivial Gradle build"
version = "1.0"

下一步

恭喜!我们已经创建了一个新的 Gradle build,并且学习了如何检查 Gradle build。

如果碰巧你也想要在特定的平台上创建一个 library 或者 application,你可以参照下面的指导。

  • Building Android Apps

  • Building Java Libraries

  • Building Kotlin JVM Libraries

  • Building C++ Executables

  • Building Groovy Libraries

  • Building Scala Libraries

你还可以在 sample Gradle builds on GitHub 查看更多构建示例。

声明:本文为官方文档的翻译。Creating New Gradle Builds

### 回答1: gradle-7.4-bin是一个开源的构建工具,它主要用于Java应用程序、Android应用程序和Groovy项目的自动化构建。它是基于JVM的构建系统,能够自动下载和安装项目依赖,执行自定义构建任务并生成目标文件。gradle-7.4-bin 可以根据项目需求选择不同的任务和插件,支持多种构建工具或IDE,例如IntelliJ IDEA和Eclipse。同时,gradle-7.4-bin 也有很好的扩展能力,可以通过插件来扩展功能,从而满足更多特殊的构建需求。gradle-7.4-bin相较于其他构建工具,其最大的特点是具有更高效、更通用、更易于使用的优点。总之,gradle-7.4-bin是一个极其强大的开源构建工具,不仅可以使开发人员对项目的控制更加精细,同时也可以大大提高软件的质量与效率,因此在众多开发工具中受到了广泛的赞誉和应用。 ### 回答2: gradle-7.4-bin是Gradle的二进制文件,是Gradle构建工具的一个版本。Gradle是一个开源的构建自动化工具,它支持多种编程语言和多种构建系统。使用Gradle,开发者可以轻松地构建、测试和部署软件项目,同时也提供了强大的依赖管理。 gradle-7.4-bin中包含了Gradle的所有功能和特性,比如声明式依赖管理、插件系统以及任务管理。该版本还包含了改进的增量编译功能,大幅提升了构建的性能和速度。 相比于其他构建工具,Gradle具有灵活性和可配置性更强的特点。它支持自定义构建脚本和插件,也可以与其他工具集成,让开发者满足各种不同的项目需求。 总的来说,gradle-7.4-bin是Gradle的一个重要版本,它提供了更快、更可靠的构建功能,让开发者更加高效地进行项目开发和管理。 ### 回答3: gradle-7.4-bin是Gradle构建工具的二进制文件,它是Gradle 7.4版本的一个发行版本。Gradle是一个基于JVM的自动化构建工具,它可以帮助开发者在项目中执行编译、打包、测试、部署等任务。它使用Groovy或Kotlin编写build.gradle文件,允许开发者通过DSL语言来配置项目。在构建过程中,Gradle会自动识别和解决项目中的依赖关系,并且提供多种构建自定义选项。 gradle-7.4-bin的安装过程相对简单,只需要通过官方网站下载对应平台的压缩包,并解压到指定目录即可。使用gradle-7.4-bin需要先配置环境变量,以便在命令行使用gradle命令。随后,用户可以在项目工程中创建build.gradle文件,配置任务和依赖,然后执行gradle命令进行构建。在构建完成后,可以在指定的目录下找到生成的构建产物。 总之,gradle-7.4-bin是一个功能强大的构建工具,可以有效地提升项目的构建和部署效率,同时也提供了丰富的自定义选项,使得用户可以方便地在不同的项目中使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值