Po zbudowaniu pliku wyjściowego z Gradle, chcę zrobić 2 rzeczy. Zaktualizuj lokalny plik version.properties i skopiuj ostateczny wynik końcowy do określonego katalogu w celu archiwizacji. Załóżmy, że mam już 2 zaimplementowane metody, które robią dokładnie to, co właśnie opisałem, updateVersionProperties()
i archiveOutputFile()
.Lepiej używać zależności zadań lub task.doLast w Gradle?
Ja wiem zastanawiać, co jest najlepszym sposobem, aby to zrobić ...
Alternatywa A:
assembleRelease.doLast {
updateVersionProperties()
archiveOutputFile()
}
Alternatywa B:
task myBuildTask(dependsOn: assembleRelease) << {
updateVersionProperties()
archiveOutputFile()
}
I tu nazwałbym myBuildTask zamiast assembleRelease jak w przypadku alternatywy A.
Który z nich jest zalecanym sposobem i dlaczego? Czy jest jakaś przewaga jednej nad drugą? Chciałbym wyjaśnienia proszę ... :)
Jak radzić sobie z tworzeniem zależności między tymi zadaniami? Chciałbym wykonać jedno zadanie, aby złożyć cały projekt (zasadniczo "zastępując" 'assembleRelease') i oba te zadania muszą być wykonane ** po udanym ** wykonaniu' assembleRelease'. Między nimi kolejność nie jest istotna. –
'myBuildTask.dependsOn (updateVersionProperties, archiveOutputFile); updateVersionProperties.dependsOn (assembleRelease); archiveOutputFile.dependsOn (assembleRelease) ' –