本系列代码地址 github
上一边我们介绍task的相关内容,今天我们接着完善我们的打包工具。
不失一般性的,我们以“publishReleaseRelease”这个任务为例,其他三个任务的逻辑和这个任务逻辑是一样的,只是参数不同。
当我们要执行apk的上传功能之前,首先我们需要确保apk编译出来。那打包的task是哪一个呢?我们在gradle面板下找一下,发现,打包的任务是“assembleRelease”这个task。
也就是说,我们上传的任务是依赖“assembleRelease”这个task的。任务的依赖关系我们可以通过“dependsOn”这个任务来指定,如下:
task publishReleaseRelease(dependsOn: "assembleRelease") {
group "publish"
doFirst {
println "publishReleaseRelease doFirst called......"
}
doLast {
println "publishReleaseRelease doLast called......"
}
}
并且我们还在任务里面加入了两个action,一个通过“doFirst”添加,一个通过“doLast”添加。当我们再执行这个任务的时候,发现他先执行了"assembleRelease"这个任务,然后才开始执行我们的“publishReleaseRelease”这个任务,并且先执行的“doFirst”对应的action,人后执行的“doLast”的action。执行结果如下: