Gradle - nauka i funkcjonalności

0

Witam. W jakim stopniu jako Java Developer powinienem znać Gradle'a? Co konkretnie powienienem potrafić zrobić z wykorzystaniem tego narzędzia oczywiście oprócz samego budowania projektu? Z góry dzięki za odpowiedź.

6

Powinieneś umieć znależć w google dokumentację do gradla oraz znajdywać rozwiązania problemow z gradle na stack overflow.

3

W gradlu to najważniejsza jest umiejętność budowania projektu oraz dependency scope. A ogólnie reszta to google/bealdung etc :P
A swoją droga odnosze wrażenie że w gradlu zmiany w API są dosyć częste, co utrudnia nauka tego narzędzia

5

Należy wiedzieć jak usunąć gradle i użyć Mavena. No chyba że ktoś lubi co kilka miesięcy orać buildfile bo API gradle uległo zmianie...

3

No chyba że ktoś lubi co kilka miesięcy orać buildfile bo API gradle uległo zmianie...

A nawet nic nie mówi. Kurna, człowiek robi projekt i odpowiedzi na SO sprzed pół roku nieaktulne...

0

Zalezy w wiekszosci przypadkow w teamie masz wlasnie speca od gradlea czy mavena. ja wlasnie od gradlea. duzo nauki bylo, ale wg mnie warto jak masz wiele modulow, bo przyspiesza builda

3

Mało muszę grzebać w Gradle pisząc na Androida, a zresztą nigdy nie są tam używane jakieś mocno nowe wersje, ani nikt nie zmusza do szybkich aktualizacji.

O Mavenie się nie wypowiem, ale po tym jak spróbowałem użyć Bazel doszedłem do wniosku, że Gradle nie jest zły aż tak.

0

@Shalom: a to cię nie przekonuje do Gradle? https://gradle.org/maven-vs-gradle/

1

@Ghost_ ani trochę bo to benchmarki i argumenty z d**y. Nie robie clean build co sekundę tylko np. co kilkanaście minut, zresztą odpalam też przy okazji testy integracyjne z wiremockami i testcontainters więc efektywnie i tak ten build będzie chwilę trwać tak czy siak. Zresztą nie wiem skąd oni te buildy mają poniżej sekundy, bo u mnie trwają podobnie długo jak w mavenie.
Zresztą mam aktualnie w pracy pewnie 50:50 projekty w gradlu i w mavenie i tylko z tymi pierwszymi są problemy. Ot np. ten gradlowy cache to jakaś czarna magia, cholera wie kiedy sobie coś tam wrzuci a kiedy nie. W mavenie wiesz dokładnie gdzie jest lokalne repo i wiesz że jak zrobisz install to podmieni ci tam artefakt. W gradlu nic takiego nie ma miejsca i tylko w gradlowych projektach widziałem sytuacje że intellij w debugu wyświetla mi warning, że odpalony bytecode nie pasuje co klasy którą mam otwartą, bo gradle postanowił że skompiluje kod z inną wersją klasy :D
I tak jak pisałem wyżej, API zmienia się non stop. Oczywiście niby można nie podbijać wersji gradle, ale nie zawsze sie da, bo coś innego może wymagać nowszej wersji. Przykład to np. pluginy do elasticsearcha - nowa wersja SDK wymaga nowej wersji pluginu do gradle a to wymaga nowego gradle.

0

Przeczytaj: https://proandroiddev.com/understanding-gradle-the-build-lifecycle-5118c1da613f
Do tego obejrzyj ze 2 filmy na YT i powinno wystarczyć na początek.

0

Powinieneś potrafić zbudować projekt, dodać nową zależność, skonfigurować jakieś pluginy, których używasz, skonfigurować nowe repozytorium Maven. W Androidzie bardzo przydatne są flavours.

1 użytkowników online, w tym zalogowanych: 0, gości: 1