Gradle任务创建Task
【摘要】
Gradle任务创建Task
1.Task创建
1.1.查看有多少个task任务
在Terminal 命令界面输入 gradle tasks 查看任务列表。
1.2.task创建
tas...
Gradle任务创建Task
1.Task创建
1.1.查看有多少个task任务
- 在Terminal 命令界面输入 gradle tasks 查看任务列表。
1.2.task创建
task创建有两种方式,一种是用task重载方法创建。另一种是用task容器创建。
在gradle中一个project中多个task是通过task容器来管理,task容器就是一个task管理类。
- 在Terminal控制台直接输入 gradle task名称 即可执行指定的task任务
//通过task函数创建
//task方法传递两个参数一个是task名称,一个是闭包
task (mytask {
println 'my first task'
})
//task方法创建task去掉括号简化形式
task mytask{
println 'my first task'
}
//通过TaskContainer容器创建Task
this.tasks.create(name:'task2'){
println 'task2'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
1.3.task配置
1.3.1.Task两种配置方式
task配置有两种方式一种方式是在创建task时就配置task信息。另一种是在task的闭包中设置task信息。
//在创建task时候就对task进行配置
task mytask(group: 'com.bruce',description: 'task1'){
println 'my first task'
}
//通过TaskContainer容器创建Task
//在task闭包中配置task
this.tasks.create(name:'task2'){
setGroup('com.bruce')
setDescription('task2')
println 'task2'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
1.3.2.Task可配置信息查看
- 进入Task类中查看有哪些属性,这些属性就是为task提供的可配置信息。
public interface Task extends java.lang.Comparable<org.gradle.api.Task>, org.gradle.api.plugins.ExtensionAware {
java.lang.String TASK_NAME = "name";
java.lang.String TASK_DESCRIPTION = "description";
java.lang.String TASK_GROUP = "group";
java.lang.String TASK_TYPE = "type";
java.lang.String TASK_DEPENDS_ON = "dependsOn";
java.lang.String TASK_OVERWRITE = "overwrite";
java.lang.String TASK_ACTION = "action";
@org.gradle.api.Incubating
java.lang.String TASK_CONSTRUCTOR_ARGS = "constructorArgs";
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2.Task执行
2.1.Task执行流程
Gradle执行分为三个阶段,初始化、配置、执行阶段。那么task默认是在配置阶段执行。我们可以通过配置让他在执行阶段执行。
2.2.dofirst和dolast方法
在dofirst和dolast方法中执行的task任务都会运行在Gradle的执行阶段。
- dofirst 方法:在执行task任务前先执行
- dolast 方法:在执行task任务后再执行
task mytask(group: 'com.bruce',description: 'task1'){
println 'my first task'
doFirst { println 'mytask dofirst:'+group}
doLast { println 'mystsk dolast'+ group}
}
//任务名称调用doFirst
mytask.doFirst {
println 'dofirst'
}
//任务名称调用doLast
mytask.doLast {
println 'dolast'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
2.3.Task依赖
task taska{
doFirst {
println 'task A'
}
}
task taskb{
doFirst {
println 'task B'
}
}
//在task中定义依赖的task
task taskC(dependsOn:[taska,taskb]){
doFirst {
println 'task C'
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/105918307
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)