gradle: unsortierte dependsOn Aufgaben, wie behandeln?

Habe ich drei Stufen auf meiner Installations-routine:

1) download
2) entpacken
3) konfigurieren Sie

downloads, verwenden ant.bekommen und ant.die Prüfsumme, also Baue ich meine eigene Klasse DownloadTask, und dann in der build:

task download (type: DownloadTask) {
    url = url
    checksumAlgorithm = 'MD5'
    destFile = zipFile
}

so kam ich mit 4 Aufgaben:

task download {...}
task unzip {...}
task configure {..}
task install(dependsOn: [download, unzip, configure]) {}

Aber ich habe bemerkt, dass dependsOn nicht respektieren, die Sortierreihenfolge, http://issues.gradle.org/browse/GRADLE-427

Also.. wie ist hier die Problemumgehung?

Kann ich nicht verschieben, nur diese Aufgaben als Methoden, weil es herunterladen verwendet meine Klasse DownloadTask. Ich kann mich bewegen alle Methoden (auch DownloadTask), aber nicht, scheint hier die beste Lösung.

Dank

  • Ich bin wahrscheinlich falsch (daher die Bemerkung), konnte aber nicht configure dependOn die unzip Aufgabe, und die unzip Aufgabe dependOn download. Dann install könnte allein auf configure?
  • es ist eine gute Lösung, aber das problem ist komplexer als dieses Beispiel (ich arbeite in einer multi-Projekt-Umgebung, so brauche ich, um die Wiederverwendung von einigen dieser Aufgabe, zum Beispiel)
InformationsquelleAutor Hugo | 2011-06-07
Schreibe einen Kommentar