12--Gradle进阶 - Gradle任务的类型

news/2024/10/31 2:25:32/

12--Gradle进阶 - Gradle任务的类型

任务类型

前面我们定义的task 都是DefaultTask 类型的,如果要完成某些具体的操作完全需要我们自己去编写gradle 脚本,势必有些麻烦,那有没有一些现成的任务类型可以使用呢?有的,Gradle 官网给出了一些现成的任务类型帮助我们快速完成想要的任务,我们只需要在创建任务的时候,指定当前任务的类型即可,然后即可使用这种类型中的属性和API 方法了。

常见任务类型该类型任务的作用
Delete删除文件或目录
Copy将文件复制到目标目录中。此任务还可以在复制时重命名和筛选文件。
CreateStartScripts创建启动脚本
Exec执行命令行进程
GenerateMavenPom生成 Maven 模块描述符(POM)文件。
GradleBuild执行 Gradle 构建
Jar组装 JAR 归档文件
JavaCompile编译 Java 源文件
Javadoc为 Java 类 生 成 HTML API 文 档
PublishToMavenRepository将 MavenPublication  发布到 mavenartifactrepostal。
Tar组装 TAR 存档文件
Test执行 JUnit (3.8.x、4.x 或 5.x)或 TestNG 测试。
Upload将 Configuration 的构件上传到一组存储库。
War组装 WAR 档案。
Zip组装 ZIP 归档文件。默认是压缩 ZIP 的内容。

如果想看更详细的gradle 自带Task 类型,请参考官方文档:

https://docs.gradle.org/current/userguide/custom_tasks.html#header

5708b06e9cdd00d1f8ed87b514eee4dd.png
1686273812894

操作案例

1.编写 Delete 类型的任务

// 任务类型
// 编写 Delete 类型的任务:删除 build 目录
tasks.register('myClean', Delete) {delete buildDir
}

我们希望可以删除 build 的目录,如下:

aaf23980bd380214fa8ba3c695620157.png

1686273999540

执行该任务,如下:

gradle myClean

449af136ad34b266af6c7108281f9a4c.png

1686274054276

可以看到我们已经成功将 project 的 build 目录删除了,下面我们再来看看如何自定义任务。

2.自定义 task 类型

/*** 1.创建任务 MyDefinitionTask,任务类型为 CustomTask* * 2.自定义 CustomTask 的类型* - 该任务会执行 doFirst、doLast*/
def myTask = task MyDefinitionTask(type: CustomTask)
myTask.doFirst() {println "task 执行之前 执行的 doFirst方法"
}
myTask.doLast() {println "task 执行之后 执行的 doLast方法"
}// 3. 继承DefaultTask,实现CustomTask
class CustomTask extends DefaultTask {//@TaskAction表示Task本身要执行的方法@TaskActiondef doSelf() {println "Task 自身 在执行的in doSelf"}
}

执行如下:

gradle MyDefinitionTask

2acc5677d4cc05f220b68ae944a4af51.png

1686274434785

http://www.ppmy.cn/news/598394.html

相关文章

HOT21-搜索二维矩阵II

leetcode原题链接: 搜索二维矩阵II 题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1: 输入:matrix [[…

【转】VLAN原理详解

1.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

VLAN

1.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

[转载] VLAN原理解释

转自:http://www.cnblogs.com/xialei893/p/3723864.html 目录 -------------------------------------------------------------------------------- 1.为什么需要VLAN 2.实现VLAN的机制 3.VLAN的访问链接(Access Link) 4.VLAN的汇聚链接&…

非常详细的VLAN解析

.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

vlan详解

1.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

VLAN原理详解[转载] 网桥--交换机---路由器

来自:http://blog.csdn.net/phunxm/article/details/9498829 一、什么是桥接 桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作为判断依据来将网络划分成两个不同物理段的技术,其被广泛应用于早期的计算机网络当中。 我们都…

[转] VLAN原理详解

VLAN原理详解 标签: VLANAccess-LinkTrunk-Link802.1QISL 2013-07-26 18:05 27901人阅读 评论(15) 收藏 举报 分类: 网络通信/流媒体(30) 目录(?)[] 1.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN&…