11
用Gradle构建我的最终输出文件后,我想做2件事。更新本地version.properties文件并将最终输出最终复制到某个特定目录进行归档。假设我已经实现了2种方法,它们完全符合我刚刚描述的方法,即updateVersionProperties()
和archiveOutputFile()
。更好地使用Gradle中的任务依赖关系或task.doLast?
我知道知道什么是应该做最好的办法......
备选方案A:
assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}
备选方案B:
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}
在这里,我会打电话myBuildTask而不是assembleRelease如替代方案A中的那样。
哪一个是推荐的方法,为什么?相对于另一个有什么优势吗?请稍后澄清... :)
你如何建议创建这些任务的依赖关系?我想要一个单独的任务来组装整个项目(基本上是“替换”assembleRelease),并且这两个任务必须在成功**执行'assembleRelease'后执行**。在他们之间,这个命令并没有真正的相关性。 –
'myBuildTask.dependsOn(updateVersionProperties,archiveOutputFile); updateVersionProperties.dependsOn(assembleRelease); archiveOutputFile.dependsOn(assembleRelease)' –