2013-07-04 8 views
5

Chcę zapytać, jak mogę wykonać zadanie niestandardowe w Gradle dla continious kompilacji, która coś zrobić i powraca BooleanProducent niestandardowe zadanie, które zwraca wartość logiczną w Gradle

class MyTask extends DefaultTask { 
    @InputFile 
    File first 

    @InputFile 
    File second 

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

Więc gdy zgłoszę moje zadanie w budowie skrypt Chcę sprawdzić, czy zwrócona wartość jest prawdą czy fałszem i coś zrobić. Czy można to zrobić, a jeśli tak, to jak nie zrobić inaczej?

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

chcę umieścić moje logikę w oddzielnej klasie porywające, ponieważ mój plik build.gradle będzie bardzo długa i trudna do odczytania.

Odpowiedz

6

Akcje zadań nie mogą zwracać wartości, ale mogą przypisać wartość do właściwości zadania, a późniejsze zadania mogą odczytać tę wartość. Pamiętaj, że nie powinieneś nigdy sam wywoływać akcji zadaniowej; to zależy od Gradle.

+0

Tak, masz rację. Dzięki, Peter. – Xelian

+0

Dlaczego nie mogę wywołać akcji zadania? Przypuśćmy, że chcę, aby zadanie w mojej wersji Androida zwiększało kod wersji? –

+0

Ustawienie właściwości zadania nie działa w Javie (przez buildSrc). Otrzymuję 'MissingPropertyException'. W Groovy jest to jednak proste. – jaco0646

Powiązane problemy