2014-07-08 5 views
9

In Gradle gibt es viele Haken. Aber ich kann nicht genau verstehen, wann sie angewendet werden. Aus der Dokumentation fand ich Haken für den Aufbau und für ein Projekt:Wenn Gradle's Hooks im Build-Lebenszyklus hinzugefügt werden?

  • addListener (Hörer)
  • afterProject (Verschluss)
  • beforeProject (Verschluss)
  • buildFinished (Verschluss)
  • settingsEvaluated (Verschluß)
  • taskGraph.whenReady
  • projectsLoaded
  • Für Projekt

  • project.afterEvaluate()
  • project.beforeEvaluate()
  • Also habe ich versucht, Darstellung von Figur aus dem Buch Gradle in Aktion zu machen (Muschko, Benjamin. "Einbinden in den Build-Lebenszyklus" Gradle in Aktion. N.p .: n.p., 2014. 100. Drucken.) um eine bessere Idee für das ganze Bild zu bekommen, wann und wo die Haken angebracht sind?

    Also, wenn die Hook hinzugefügt werden und wenn dort andere Build, Project Hooks?

    enter image description here

    Antwort

    7

    Sieht richtig. (Ich nehme an, die Frage ist, wenn Callbacks ausgeführt werden.) gradle.projectsLoaded muss zwischen Initialisierung und Konfigurationsphase gehen. gradle.beforeProject passiert an bestimmten Punkten während der Konfigurationsphase. Überprüfen Sie Gradle in der Gradle Build Language Reference für andere Rückrufe.

    +0

    zögern Sie nicht, meine Frage zu korrigieren. Ich verstehe immer noch nicht, wenn AfterEvaluate() und beforeEvaluate() ausgeführt werden? beforeEvaluate() bei 5 oder 6?
    afterEvaluate() nachbeforeValuate at 6 ??? – Xelian

    +1

    Wie 'beforeProject' und' afterProject', nur für ein bestimmtes Projekt. –

    +0

    SO wenn sie gleichzeitig in einem Projekt verwendet werden, ist zuerst beforeProject, dann beforeEvaluate, afterEvaluate, afterProject? – Xelian

    Verwandte Themen