2013-07-04 30 views
5

Tôi muốn hỏi làm thế nào tôi có thể làm cho một công việc tùy chỉnh trong gradle cho xây dựng continious, mà làm điều gì đó và trả về booleanMake nhiệm vụ tùy chỉnh người trả boolean trong Gradle

class MyTask extends DefaultTask { 
    @InputFile 
    File first 

    @InputFile 
    File second 

    @TaskAction 
    boolean check() { 
     return .. 
    } 
} 

Vì vậy, khi tôi gọi nhiệm vụ của tôi trong việc xây dựng kịch bản Tôi muốn kiểm tra xem giá trị trả về là đúng hay sai và để làm điều gì đó. Điều này có thể thực hiện được và nếu có thì làm thế nào nếu không làm thế nào để thực hiện theo cách khác?

task myCheckTAsk(type: MyTask) { 
    ...??? 
} 

Tôi muốn đặt logic của mình vào lớp groovy riêng biệt vì tệp build.gradle của tôi sẽ trở nên rất dài và khó đọc.

Trả lời

6

Tác vụ tác vụ không thể trả về giá trị, nhưng chúng có thể gán giá trị cho thuộc tính của tác vụ và các tác vụ sau có thể đọc giá trị đó. Lưu ý rằng bạn không bao giờ nên tự gọi một hành động tác vụ; nó lên đến Gradle để làm như vậy.

+0

Có, bạn đã đúng. Cảm ơn, Peter. – Xelian

+0

Tại sao tôi không thể gọi hành động tác vụ? Giả sử tôi muốn một tác vụ trong bản dựng Android của tôi để tăng versionCode? –

+0

Đặt thuộc tính tác vụ dường như không hoạt động trong Java (thông qua buildSrc). Tôi nhận được một 'MissingPropertyException'. Tuy nhiên, nó đơn giản trong Groovy. – jaco0646

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