2012-03-31 27 views
5

Tôi đang cố gắng ép Gradle tạo jar theo cách riêng của tôi. Tôi đã viết nhiệm vụ của riêng tôi Gradle (lớp riêng) để làm điều này và bây giờ tôi muốn thay thế nhiệm vụ mặc định jar với nó, vì vậy mà:Làm thế nào để thay thế đúng nhiệm vụ 'Chĩa' của Gradle?

  • các kho lưu trữ được LUÔN tạo ra với nhiệm vụ mới của tôi và không bao giờ với cái cũ jar nhiệm vụ
  • nhiệm vụ mới của tôi có mối quan hệ tương tự với các nhiệm vụ khác như là nhiệm vụ mặc định jar - nó phụ thuộc vào classes nhiệm vụ, nhiệm vụ build sử dụng nó, vv
  • tôi muốn công việc của tôi không được gọi khi nó UP-TO-DATE (giống như mặc định jar)

Tôi đang cố gắng để làm điều này và tôi đang gặp rất nhiều rắc rối để đạt được điều này. Ví dụ: tôi không thể bắt buộc tác vụ build luôn sử dụng tác vụ mới của mình.

Tôi thực sự sẽ đánh giá cao nếu có ai đó có thể hỗ trợ tôi bằng một cách ngắn gọn.

Trả lời

2

này nên làm việc:

jar { 
    // reset actions 
    actions = [] 
    // add your action that performs the work based 
    // on the configuration (e.g. 'source') of this task 
    doLast { ... } 
} 
+0

Cảm ơn, giúp rất nhiều. Cũ 'jar' không bao giờ được thực hiện nữa. Tuy nhiên, nhiệm vụ được thực hiện luôn, ngay cả khi nó phải là 'UP-TO-DATE'. Làm thế nào tôi có thể ngăn chặn điều đó? – ghik

+1

Nếu bạn chạy với '--info', Gradle sẽ cho bạn biết lý do tại sao nó cho rằng nhiệm vụ không được cập nhật. –

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