Gradle을 사용하여 최종 출력 파일을 작성한 후에 2 가지 작업을 수행하려고합니다. 로컬 version.properties 파일을 갱신하고 마지막 최종 출력을 아카이브 할 특정 디렉토리로 복사하십시오. 이미 방금 설명한 2 가지 메서드가 이미 구현되었다고 가정합니다 (및 archiveOutputFile()
). 내가 myBuildTask를 부를 것이다 여기Gradle에서 작업 종속성 또는 task.doLast를 사용하는 것이 더 낫습니까?
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}
그리고 :
assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}
대안 B :
나는
대안 A를 ...이 작업을 수행하는 가장 좋은 방법은 무엇 궁금 알고있어 대신 assembleRelease 대체품 A와 같습니다.
이렇게하는 것이 권장되는 방법은 무엇입니까? 하나의 장점이 다른 것보다 많습니까? 몇 가지 설명을 좀주세요 ... :)
어떻게 이러한 작업 종속성을 만들 것을 권장합니까? 하나의 태스크가 전체 프로젝트를 어셈블하기를 원하고 (기본적으로 "assembleRelease'를"대체 "),이 두 태스크는 모두'assembleRelease'를 성공적으로 ** 수행 한 후에 만 ** 실행되어야합니다. 그 (것)들 사이에서, 순서는 진짜로 적합하지 않다. –
'myBuildTask.dependsOn (updateVersionProperties, archiveOutputFile); updateVersionProperties.dependsOn (assembleRelease); archiveOutputFile.dependsOn (assembleRelease)' –