Gibt es eine Möglichkeit zu fragen, ob etwas nicht auf dem neuesten Stand ist und gebaut werden müsste (ohne es dann wirklich zu bauen)? DieseWie kann man fragen, ob etwas nicht auf dem neuesten Stand ist
Antwort
ist nicht möglich. Die aktuelle Prüfung erfolgt in der Ausführungsphase, kurz bevor die doFirst
ausgeführt wird. Es wird berechnet und dieser Wert wird nicht gespeichert. Außerdem kann die aktuelle Prüfung von den vorherigen Aufgabenausgaben abhängen. Um den aktuellen Status einer Aufgabe aufzulösen, müssen Sie daher alle ihre Abhängigkeiten ausführen (dependsOn
Aufgaben). Daher würde das, was Sie fragen, theoretisch nur für die erste Aufgabe funktionieren, die nicht aktuell ist.
zu sehen, wie der Lebenszyklus funktioniert, ist hier ein einfaches Beispiel:
task hello {
println "CONFIG1"
outputs.upToDateWhen {
println "UPTODATE"
return false
}
println "CONFIG2"
doFirst {
println "DOFIRST"
}
doLast {
println "DOLAST"
}
}
Wenn Sie dies mit der Flagge --debug
ausführen, werden Sie sehen das erste:
08:05:17.294 [DEBUG] [org.gradle.model.internal.registry.DefaultModelRegistry] Project : - Registering model element 'tasks.hello' (hidden = false)
08:05:17.302 [QUIET] [system.out] CONFIG1
08:05:17.329 [QUIET] [system.out] CONFIG2
08:05:17.333 [DEBUG] [org.gradle.configuration.project.BuildScriptProcessor] Timing: Running the build script took 0.764 secs
Die Konfigurationsphase einrichtet die aktuelle Überprüfung. Dann Gradle berechnet die grafische Darstellung der Aufgaben:
08:16:26.212 [DEBUG] [org.gradle.execution.taskgraph.DefaultTaskGraphExecuter] Timing: Creating the DAG took 0.007 secs
Und erst dann führt er die Aufgaben:
08:05:17.430 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :hello (Thread[main,5,main]) started.
08:05:17.431 [LIFECYCLE] [class org.gradle.internal.buildevents.TaskExecutionLogger] :hello
08:05:17.432 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Starting to execute task ':hello'
08:05:17.461 [QUIET] [system.out] UPTODATE
08:05:17.465 [INFO] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Putting task artifact state for task ':hello' into context took 0.032 secs.
08:05:17.465 [DEBUG] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Determining if task ':hello' is up-to-date
08:05:17.465 [INFO] [org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter] Executing task ':hello' (up-to-date check took 0.0 secs) due to:
Task.upToDateWhen is false.
08:05:17.466 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter] Executing actions for task ':hello'.
08:05:17.467 [QUIET] [system.out] DOFIRST
08:05:17.467 [QUIET] [system.out] DOLAST
Up-to-date Prüfung geschieht nur, wenn der Baum von Aufgaben gebaut und Aufgaben ausgeführt werden in Ordnung.
Da von dieser Prüfung kein Wert gespeichert wird, ist es nicht möglich, den aktuellen Status einer Aufgabe zu ermitteln, ohne alle Aufgaben auszuführen, von denen sie abhängt.
- 1. Timestamp.UTCNow ist nicht auf dem neuesten Stand
- 2. Aufgabe ist immer auf dem neuesten Stand
- 3. Wie man die Tabellenstruktur auf dem neuesten Stand hält
- 4. Eine Gabel auf dem neuesten Stand halten
- 5. React-Native App ist nicht auf dem neuesten Stand
- 6. Feature-Zweig auf dem neuesten Stand halten
- 7. Qt-Übersetzungen auf dem neuesten Stand halten
- 8. React DatePicker Bootstrap auf dem neuesten Stand
- 9. Prüfen Sie, ob ein PR mit dem Zielzweig auf dem neuesten Stand ist
- 10. iPhone Debugging: Variablen sind nicht auf dem neuesten Stand?
- 11. Wie kann man Zeit in Minuten (Minuten + Minuten) in Javascript hinzufügen? (Nicht auf dem neuesten Stand)
- 12. Elasticsearch: auf dem neuesten Stand Größe eines Indexes
- 13. Slickgrid - Hintergrundabfrage, um Daten auf dem neuesten Stand zu halten?
- 14. Wie können Sie feststellen, ob Ihre Migrationen mit migratordotnet auf dem neuesten Stand sind?
- 15. Ist es möglich, benachrichtigt zu werden, wenn ein OrientDB Master-Knoten auf dem neuesten Stand ist?
- 16. Xamarin Formen Anzeigen Ereignisse, die auf dem neuesten Stand sind
- 17. Wie aktualisiert man phpMyAdmin in XAMPP auf den neuesten Stand?
- 18. Convert Zeitstempel auf dem neuesten Stand mit Angular 2 Rohren
- 19. AWS Elastic Beanstalk Git sagt "bereits auf dem neuesten Stand"
- 20. Yii2 Vermögenswerte Bundles Zeitstempel immer auf dem neuesten Stand
- 21. Ich kann den neuesten Stand einer Webansicht auf dem lokalen Rechner nicht abrufen.
- 22. Ein benutzerdefiniertes Theme mit Upstream auf dem neuesten Stand halten
- 23. Gute Beispiele auf dem neuesten Stand der Arrows in Aktion?
- 24. Git Push wird nichts tun (Alles auf dem neuesten Stand)
- 25. Wie schreibe ich ein Shell-Skript, das prüft, ob das git-Repository auf dem neuesten Stand ist?
- 26. Wie überprüft man, ob der 'TF Get' Befehl zurückgegeben wird 'Alle Dateien sind auf dem neuesten Stand.'?
- 27. Nicht-konvexer QCQP-Löser nach dem neuesten Stand der Technik?
- 28. Tridion UI Fehler - "Die Vorschau für diese Seite ist nicht auf dem neuesten Stand"
- 29. Einen Zweig auf dem neuesten Stand mit Master halten
- 30. Möglichkeiten, DLLs auf dem neuesten Stand zu halten
Danke für die Klarstellung. – James