丙午🐎年

acc8226 的博客

在入门教程中,您学习了如何创建简单的任务。 稍后您还学习了如何向这些任务添加额外的行为,并学习了如何在任务之间创建依赖关系。 这一切都是关于简单的任务,但 Gradle 把任务的概念更进一步。 Gradle 支持增强型任务,这些任务具有自己的属性和方法。 这与您习惯使用 Ant 目标的情况大不相同。 这些强化的任务要么是你提供的,要么是内置在 Gradle 的。

Task outcomes 任务结果

当 Gradle 执行一个任务时,它可以通过控制台 UI 和 toolingapi 将任务标记为不同的结果。 这些标签基于任务是否有要执行的操作,是否应该执行这些操作,是否确实执行了这些操作,以及这些操作是否做了任何更改。

Defining tasks 定义任务

在本章中,我们已经看到了如何使用任务名称的字符串来定义任务。 这种风格有一些变化,您可能需要在某些情况下使用。

阅读全文 »

日志是构建工具的主要“ UI”。 如果太冗长,那么真正的警告和问题很容易被隐藏起来。 另一方面,你需要相关的信息来判断事情是否出了问题。 Gradle 定义了6个日志级别,如日志级别所示。 除了通常可以看到的日志级别之外,还有两个 gradle 特定的日志级别。 这些层次是安静和生命周期。 后者是默认的,用于报告构建进度。

ERROR
Error messages

QUIET
Important information messages

WARNING
Warning messages

LIFECYCLE
Progress information messages

阅读全文 »

Copying a single file 复制单个文件

通过创建 Gradle 的内建 Copy 任务的实例并将其配置为文件的位置和要放置文件的位置,可以复制文件。 这个例子模拟了将生成的报告复制到一个目录中,这个目录将被打包到一个归档文件中,比如 ZIP 或者 TAR:

1
2
3
4
task copyReport(type: Copy) {
from file("$buildDir/reports/my-report.pdf")
into file("$buildDir/toArchive")
}

你甚至可以不使用 File ()方法直接使用这个路径,正如在文件复制深度部分前面解释的那样:

阅读全文 »

构建 Java applications

1
2
mkdir demo
cd demo

在新项目目录中,运行 init 任务,并在提示时选择 java-application 项目类型。 对于其他问题,按回车键使用默认值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
$ gradle init
> Task :wrapper

Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
1: C++
2: Groovy
3: Java
4: Kotlin
5: Swift
Enter selection (default: Java) [1..5] 3

Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Select test framework:
1: JUnit 4
2: TestNG
3: Spock
4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4]

Project name (default: demo):

Source package (default: demo):


> Task :init
Get more help with your project: https://docs.gradle.org/5.4.1/userguide/tutorial_java_projects.html

BUILD SUCCESSFUL
2 actionable tasks: 2 executed
阅读全文 »
0%