自己动手开发一个Android持续集成工具-3

504 阅读1分钟

本系列代码地址 github

相关资料 gradle in action中英文对照版

回到目录

上一边我们介绍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。执行结果如下: