2011-11-11 9 views
9

Mamy dziwny problem polegający na tym, że losowo i rzadko wykonuje się zadanie compileJava, które usuwa folder META-INF i kompiluje klasy w celu uruchomienia, ale raport zadań processResources jest aktualny, mimo że katalog META-INF wyraźnie nie robi nic. t istnieje.Jak mogę zapewnić, że zadanie processResources w gradle build zawsze działa?

To nas kąsa, ponieważ możliwe jest, że artefakty doprowadzą do produkcji bez aplikacjiContext.xml!

To bardzo mało kosztuje dla nas, aby uruchomić to zadanie, czy można go wymusić, bez względu na wszystko?

+1

Gradle 1.0-kamień milowy-5 i nowsze pliki klas i zasoby są umieszczane w różnych katalogach (build/classes i build/resources). Byłoby dobrze wiedzieć, czy to rozwiązuje twój problem, bez użycia obejścia. –

Odpowiedz

12

Być może jest jakiś błąd, który nie wyczyści gradle cache. Jednym z możliwych rozwiązań byłoby najpierw wymuszenie zadania czyszczenia własnego wyjścia przez uruchomienie cleanProcessResources.

Jeśli to nie zadziała spróbuj przesłanianie upToDateWhen orzecznik wyjść Twoim zadaniem jest tak:

processResources.outputs.upToDateWhen{ false } 

Jednak nie wiem, czy ten interfejs API jest trwały.

+1

Mam nadzieję, że tak. To jest zajebiste. –

Powiązane problemy