访问任务
方式一:通过任务名访问
1、创建的任务都会作为Project的一个属性,属性名就是任务名。所以可以通过任务名访问或操纵任务;
task('createTask4')
createTask4.doLast {
println 'access doLast'
}
方式二:TaskContainer访问
1、前一篇博客我们说过,创建任务最终都是通过TaskContainer创建的,其实TaskContainer就是我们创建任务的集合。Project中有一个名为tasks的TaskContainer属性,我们可以通过访问集合的方式访问创建的任务;
形式:tasks[‘任务名’]
task("createTask5")
tasks["createTask5"].doLast {
println "createTask5 doLast()"
}
“[]”这儿并不是集合,而是一个操作符,Groovy中的操作符都有一个对应方法,我们可以重载操作符;a[b]对应的方法是a.getAt(b),tasks[“createTask5”]对应的就是tasks.getAt(“createTask5”)这个方法。查看Gradle源码最后发现调用的是findByname(String name)实现的;
2、通过名称访问:有两种方式get和find两种
tasks.findByName("createTask6").doLast {
println "doLast()"
}
tasks.getByName(&