任务的创建
使用任务名称创建
def Task t1 = task(t1)
t1.doLast {
println "this is t1"
}
任务名称➕任务配置创建
def Task t3 = task(t3, group: BasePlugin.BUILD_GROUP)
t3.doLast {
println "this is t3"
}
TaskContainer的create方法创建
tasks.create(name: "t2") {
doLast {
println "this is t2"
}
}
任务的创建都会调用tasks的create方法,其中tasks类型为TaskContainer
任务的依赖
任务的依赖会决定任务运行的先后顺序,被依赖的任务会在定义依赖任务之前执行
task dep1 {
doLast {
println "this is dep1"
}
}
task dep2(dependsOn: dep1) {
doLast {
println "this is dep2"
}
}
使用gradle -q dep2 执行dep2执行结果如下
this is dep1
this is dep2
任务分组和描述
Gradle有任务组概念,可以为任务配置分组和描述以便于更好的管理任务
task g1{
group = "baidu"
description = "baidu app"
doLast{
println "任务分组:${group}"
println "任务描述:${description}"
}
}
task g2(dependsOn: g1){
doLast{
println "this is g2"
}
}
gradle -q dep2 执行任务,执行结果如下
任务分组:baidu
任务描述:baidu app
this is g2
Gradle命令行
获取所有任务信息
gradle -q tasks
排除任务
gradle -q g2 -x g1
虽然g2依赖于g1 但是仅仅会执行g2任务
获取任务帮助信息
gradle -q help --task g1
执行结果如下
Detailed task information for g1
Path
:module-gradle:g1
Type
Task (org.gradle.api.Task)
Description
baidu app
Group
baidu
多个任务同时调用
每个任务只会执行一次,无论是在命令行中指定任务还是任务依赖
gradle -q g1 g2
执行结果如下
任务分组:baidu
任务描述:baidu app
this is g2
网友评论