Snippet: Debugowanie skryptu Gradle.

Tworzenie niestandardowych skryptów gradle może być uciążliwe, w szczególności dla osób, które nie mają dużego doświadczenia z językiem groovy lub z pisaniem takich skryptów. Wyzwaniem jest także pisanie własnych pluginów – jest bardzo mało materiałów do nauki. Co gorsza, aktualizacje gradle mogą niekiedy popsuć działające wcześniej skrypty, przez co jest ciężko, jest wykryć błąd.

Bardzo pomocnym narzędziem jest wtedy debugger. Uruchomienie go dla skryptu budującego jest prawie tak proste, jak dla zwykłej aplikacji.

Stworzenie konfiguracji

Pierwszym krokiem jest stworzenie zdalnej konfiguracji (Remote Configuration). Wybierz z listy dostępnych konfiguracji uruchomieniowych „Edit Configurations…” .

W oknie „Run/Debug Configurations” naciśnij „+”, który znajduje się w lewym górnym rogu ekranu.

Z rozwijanej listy wybierz „Remote”

Wpisz dowolną nazwę (ja polecam coś w stylu „GradleDebug”), resztę ustawień pozostaw domyślnie i kliknij „ok”.

Breakpoint

W skryptach gradle ustawia się w taki sam sposób brakepoint jak w zwykłym kodzie:

Aplikacja podczas debugowania zatrzyma się dokładnie w tym miejscu i będzie można podejrzeć wszystkie obiekty tak jak w normalnym debugowaniu.

Rozpoczęcie debugowania

Aby uruchomić debugger podczas budowania projektu, musisz do polecenia dodać dodatkowy parametr:

-Dorg.gradle.debug=true

W przypadku gdy będzie to zadanie assembleDebug, to polecenie wywołane z konsoli będzie miało poniższą formę:

./gradlew assembleDebug -Dorg.gradle.debug=true

Po wywołaniu powyższego polecenia zostanie ono zawieszone do momentu uruchomienia konfiguracji „RemoteDebug”:

Aby uruchomić konfigurację należy nacisnąć ikonkę debuggera wraz z wcześniej utworzoną konfiguracją:

Po naciśnięciu ikonki debuggera, skrypt budowania zatrzyma się w miejscu, w którym został ustawiony breakpoint:

Źródło

https://docs.gradle.org/current/userguide/troubleshooting.html#_attaching_a_debugger_to_your_build

Jeśli uważasz treść za wartościową to podziel się nią z innymi. Dziękuję.

Mateusz Chrustny

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *