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)' –