2014-07-08 16 views
9

Trong Gradle có rất nhiều móc. Nhưng tôi không thể hiểu chính xác khi nào chúng được áp dụng. Từ các tài liệu tôi tìm thấy móc cho việc xây dựng và cho một dự án:Khi móc của Gradle được thêm vào vòng đời xây dựng?

  • addListener (listener)
  • afterProject (đóng cửa)
  • beforeProject (đóng cửa)
  • buildFinished (đóng cửa)
  • settingsEvaluated (đóng)
  • taskGraph.whenReady
  • projectsLoaded
  • Đối với dự án

  • project.afterEvaluate()
  • project.beforeEvaluate()
  • Vì vậy, tôi đã cố gắng để làm cho đại diện của nhân vật từ cuốn sách Gradle trong hành động (Muschko, Benjamin. "Hooking vào vòng đời xây dựng." Gradle in Action. N.p .: n.p., 2014. 100. In.) để nhận ý tưởng tốt hơn cho toàn bộ hình ảnh khi nào và nơi móc được áp dụng?

    Vì vậy, khi móc được thêm vào và nếu có móc xây dựng khác, móc dự án?

    enter image description here

    Trả lời

    7

    Có vẻ đúng. (Tôi giả định câu hỏi là khi gọi lại là được thực hiện.) gradle.projectsLoaded cần phải đi giữa khởi tạo và giai đoạn cấu hình. gradle.beforeProject xảy ra tại một số điểm nhất định trong giai đoạn cấu hình. Hãy xem Gradle trong số Gradle Build Language Reference cho các cuộc gọi lại khác.

    +0

    vui lòng sửa câu hỏi của tôi. Tôi vẫn không hiểu khi afterEvaluate() và beforeEvaluate() được thực thi? beforeEvaluate() tại 5 hoặc 6?
    afterEvaluate() after beforeEvaluate at 6 ??? – Xelian

    +1

    Giống như 'beforeProject' và' afterProject', chỉ cho một dự án cụ thể. –

    +0

    SO nếu chúng được sử dụng cùng một lúc trong một dự án xây dựng đầu tiên là trước Dự án, sau đó beforeEvaluate, afterEvaluate, afterProject? – Xelian

    Các vấn đề liên quan