【三】Gradle中的Task

gradle中,最经常被使用的,一个task,一个是dependencies

1.Task声明

task默认是DefaultTask类, Task中有两个属性 group description,最佳实践是把两个属性都设置上

如下面:

//声明task的时候,就指定group和description,在声明task的时候,就声明doLast方法,
task makeReleaseVersion(group: 'versioning', description: 'Makes project a release version.') << { version.release = true ant.propertyfile(file: versionFile) { entry(key: 'release', type: 'string', operation: '=', value: 'true') } }

//在之后单独声明doFirst 和 doLast
printVersion.doFirst { println "First action" }
printVersion << { println "Last action" }

Task执行时,会依次执行doFirst 和 doLast 上面那个例子只能的<< 就是doLast的一种简写。

一个task可以声明多个doFirst和doLast方法,都会被执行,doFirst后面设置的越先执行,doFirst越后面设置的,越后执行。

2.Task之间的依赖

task直接可以相互依赖,但是不能形成闭环,否则会报错。

task first << { println "first" }
task second << { println "second" }
#声明方法时,设置依赖
task printVersion(dependsOn: [second, first]) << {
    logger.quiet "Version: $version"
}

task third << { println "third" }
#之后设置依赖 参数为可变参数,有多个,就继续往后面加
third.dependsOn('printVersion')

#指明在first的task执行完成后,执行second的task
first.finalizedBy second

未完待续。。。

原文地址:https://www.cnblogs.com/amibandoufu/p/11342480.html