Ich habe ein benutzerdefiniertes Gradle-Plugin, das Java-Dateien aus einer Vorlagendatei generiert. Ich habe mehrere solche Vorlagendateien an verschiedenen Orten, und ich muss sie alle "kompilieren", um die Java-Dateien zu generieren, die ich brauche. Sobald ich die Dateien habe, möchte ich sie in ein .jar verpacken.Alternative zum Aufrufen einer Task aus einer Task, Gradle
Mein erster Gedanke war, dass ich die Aufgabe "kompilieren" aus dem benutzerdefinierten Plugin von anderen Aufgaben ausführen würde. Etwas wie:
task compileFromLocationA <<{
compileTemplate.execute()...
}
task compileFromLocationB
...
packageJar(depends: compileFromLocationA, compileFromLocationB)
...
Sie können jedoch nicht programmgesteuert eine Aufgabe innerhalb einer anderen Aufgabe aufrufen. Ich habe gehört, dass ich in der Lage sein könnte, mit dependsOn
oder finalizedBy
umgehen, aber ich bin nicht in der Lage, herauszufinden, wie Sie diese Schlüsselwörter hier anwenden. Was ist die "Best Practice" für so etwas? Ich bin neu bei Gradle und konnte mit den offiziellen Dokumenten nicht sehr weit kommen.
Es ist mir noch nicht klar, wie ich dieses Muster auf, sagen wir nutzen könnten, laufen Taska mehr als einmal. Ich muss die Aufgabe "Vorlage kompilieren" mehrmals ausführen. – Adam
Zum Zeitpunkt dieses Kommentars gab es keinen Hinweis auf "mehr als einmal ausführen" – pczeus
"Ich würde die Aufgabe" kompilieren "aus dem benutzerdefinierten Plugin aus anderen Aufgaben * s * ausführen". Ich werde das bearbeiten, um das klarer zu machen. – Adam