Mejor usar dependencias de tareas o task.doLast en Gradle?

Después de construir mi archivo de salida final con Gradle quiero hacer 2 cosas. Actualice un archivo version.properties local y copie la salida final final en algún directorio específico para archivar. Supongamos que ya tengo 2 métodos implementados que hacen exactamente lo que acabo de describir,updateVersionProperties() yarchiveOutputFile().

Sé que me pregunto cuál es la mejor manera de hacer esto ...

Alternativa A:

assembleRelease.doLast {
    updateVersionProperties()
    archiveOutputFile()
}

Alternativa B:

task myBuildTask(dependsOn: assembleRelease) << {
    updateVersionProperties()
    archiveOutputFile()
}

Y aqui te llamomyBuildTask en lugar deassembleRelease como en la alternativa A.

¿Cuál es la forma recomendada de hacer esto y por qué? ¿Hay alguna ventaja de uno sobre el otro? Quisiera alguna aclaración por favor ... :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta