In Gradle ist es einfach zu definieren, Aufgaben nach dem Build ausgeführt werden.Gradle Kopie Aufgabe nach Build
task finalize1 << {
println('finally1!')
}
build.finalizedBy(finalize1)
Dies funktioniert wie erwartet. Aber jetzt möchte ich am Ende eine Kopieraufgabe ausführen.
task finalize (type: Copy) {
def zipFile = file('data/xx.zip')
def outputDir = file("data/")
println('Unzip..')
from zipTree(zipFile)
into outputDir
}
build.finalizedBy(finalize)
Dies funktioniert nicht mehr. Ich sehe die "Unzip" Ausgabe am Anfang des Builds (Ich brauche den Extrakt am Ende).
Unzip..
:clean
:compileJava
:processResources
:classes
:findMainClass
:jar
:bootRepackage
:assemble
...
<<
funktioniert der Trick scheint es aber, wie ich kann ich diese beiden zusammenführen?
Das Hinzufügen von 'doAfter' funktioniert nicht:' Die Methode doAfter() konnte für die Argumente [build_92jecjaiieertrt4v2cwwz3ik0j $ _run_closure6 $ _closure9 @ 41b0297c] auf der Task ': unzipTestData' des Typs org.gradle.api.tasks.Copy nicht gefunden werden. – DerM
@DerM Entschuldigung, ich habe den Namen vergessen. Es heißt DoLast, nicht DoAfter – AdamSkywalker