【三】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
未完待续。。。