./gradle tasks
listet "einige" der Aufgaben auf. Unter
http://gradle.org/docs/current/userguide/java_plugin.html sind versteckte Objekte nicht aufgeführt. Auch andere Plugins haben keine so schöne Grafik der Abhängigkeiten zwischen Aufgaben.
Gibt es einen Weg zu
- liste alle aufgaben in allen plugins mit gradle auf
- Listen Sie die Aufgaben auf und von welchen Aufgaben sie abhängen (ähnlich wie bei Maven,
dependency:tree
aber für Aufgaben).
Hierfür können Sie die Option
--dry-run
(oder-m
) verwenden, mit der Aufgaben aufgelistet werden, die für einen bestimmten Befehl ausgeführt werden, den Befehl jedoch nicht ausführen, zmehr finden Sie hier
quelle
Sie können das Plugin com.dorongold.task-tree mit einfacher Verwendung ausprobieren :
Beispielergebnis aus der Readme :
quelle
--no-repeat
. Quelle: github.com/dorongold/gradle-task-treeSie können dies in Ihre
build.gradle
:oder dies in Ihre
build.gradle.kts
:Führen Sie dann Ihre Aufgabe mit gradle aus:
Und Sie sollten dies sehen:
quelle
A <- B <- (C and D)
, wird es Ihnen angezeigtB-A, C-B, D-B
. Es hilft immer noch einigen!Der Gradle-Aufgabenbaum kann durch oder visualisiert werden
gradle tasks --all
die folgenden Plugins ausprobiert werden:Diagramme Gradle und Talaiot: Sehen Sie sich Folgendes an: https://proandroiddev.com/graphs-gradle-and-talaiot-b0c02c50d2b1 Blog, in dem Aufgaben und Abhängigkeiten grafisch angezeigt werden. Dies verwendet das kostenlose geöffnete Graphviz-Tool Gephi ( https://gephi.org/features/ ).
gradle-task-tree : https://github.com/dorongold/gradle-task-tree und
gradle-visteg : https://github.com/mmalohlava/gradle-visteg
gradle-visteg- Plugin: Die generierte Datei kann über das Dienstprogramm Graphviz nachbearbeitet werden
dot
.Zum Beispiel wird ein PNG-Bild wie folgt erzeugt:
cd build/reports/; dot -Tpng ./visteg.dot -o ./visteg.dot.png
Weitere Informationen finden Sie auf der Graphviz -Homepage.
Alle Aufgaben, die tatsächlich zum Ausführen einer Aufgabe verwendet werden (z.
build
B. :), können mit der--profile
Option in einer schönen HTML-Seite angezeigt werdenGradle - Profil sauber bauen
Sobald dies abgeschlossen ist, gehen Sie zum Ordner build / reports / profile und durchsuchen Sie die HTML-Datei. Auf einer schönen HTML-Seite sehen Sie die Auflösung von Abhängigkeiten und andere Informationen mit der Zeit, die dafür benötigt wurde.
quelle
Sie können programmgesteuert auf das Aufgabendiagramm zugreifen, um es im Build-Skript mithilfe von Gradle.getTaskGraph () zu überprüfen.
quelle
Wenn Ihr Multiprojekt wächst, wird die Lösung, die ich als korrekt markiert habe, etwas unfreundlich und schwer zu lesen
Stattdessen habe ich mir ein bestimmtes Projekt angesehen, um es viel einfacher zu machen
Dabei ist 'full-httpproxy' der Name meines Projekts (und das typische Verzeichnis).
Ich bin jedoch neugierig, wie man Aufgaben im Master / Root-Projekt auflistet, und habe auch hier eine offene Frage
Wie liste ich alle Aufgaben für das Masterprojekt nur in Gradle auf?
Das scheint momentan nicht möglich zu sein.
quelle
Sie können auch das folgende Plugin für Ihre lokale Umgebung hinzufügen build.gradle, https://github.com/dorongold/gradle-task-tree
quelle
Nach der Antwort von cstroe werden im Folgenden auch die Eingabe- und Ausgabedateien jeder Gradle-Aufgabe gedruckt. Dies ist nützlich, da Abhängigkeiten manchmal durch Eingabe / Ausgabe-Beziehungen definiert werden. Das heißt, wenn Aufgabe B die Ausgaben von Aufgabe A verwendet, zeigt die Antwort von cstroe nicht die Abhängigkeit. Das Folgende ist sehr primitiv, zeigt jedoch die Liste der Eingabe- und Ausgabedateien für jede Aufgabe:
quelle