Gradle task简单使用

时间:2021-01-21 02:20:27

还望支持个人博客站:http://www.enjoytoday.cn

task是什么

task是gradle构建脚本的最小运行单元,我们通过在gradle脚本中创建task任务,以期完成某个特定的功能,task在build.gradle中定义实现,task本身作为一个单独的运行单元,在编译时通过执行gradle task运行或者通过task之间的依赖运行。

如何定义task

task定义的方法很简单,创建的方式主要为两种:一种迭代声明task任务以及doLast,doFirst方法添加可执行代码;一种是通过 “<<” 快捷创建task任务,闭合执行任务代码。但不仅限于这两种,如下,为两种创建的简单代码格式:

//迭代创建
task A{
  doLast{
     println "this is task A."
 }
}
//可执行的简略创建方式
task B << {
  println "this is task B"
}


运行结果如下:
caihaifei@hfcai:$ gradle A
:A
this is task A.

BUILD SUCCESSFUL
Total time: 0.883 secs
caihaifei@hfcai:$ gradle -q B
this is task B

如上所示,直接通过gradle [-q] A(创建的任务名),即可执行查看运行结果。

task之间的依赖

task 可以通过dependsOn实现task任务间的依赖,可以选择直接在定义task时或者定义结束后添加依赖说明,定义依赖根据依赖声明的位置的前后,依赖说明写法略有不同,格式如下所示:

task A{
  doLast{
     println "this is task A."
 }
}
task B << {
  println "this is task B"
}
B.dependsOn('E')
task C(dependsOn: B) << {

  println "this is task C"

}
task D(dependsOn: 'E') <<{
 println "this is task D."
}
task E << {
 println "this is task E"
}
A.dependsOn(B)

结果验证可以通过运行task A 、task B 、task C、task D查看结果,结果显示如下:

caihaifei@hfcai:$ gradle -q A
this is task E
this is task B
this is task A.
caihaifei@hfcai:$ gradle -q B
this is task E
this is task B
caihaifei@hfcai:$ gradle -q C
this is task E
this is task B
this is task C
caihaifei@hfcai:$ gradle -q D
this is task E
this is task D.

task的执行方法

task的执行方法如上所是,已经介绍了一些,我们可以通过gradle指定执行task,也可以通过依赖于其他任务而在其他任务执行前执行,除此之外,我们还可以通过在脚本中指定默认执行任务,可以直接通过gradle执行,使用很简单,在脚本开头添加如下格式代码:

defaultTasks 'A','C'

执行方法以及结果如下:

caihaifei@hfcai:~$ gradle -q
this is task E
this is task B
this is task A.
this is task C

更多gradle介绍请查看:http://www.enjoytoday.cn/categorys/Gradle