Jestem nowy do gradle. Ale rozumiem do pewnego stopnia, dlaczego deweloperzy są zachęcani do używania gradlew zamiast gradle. Jednak co się pogorszy, jeśli deweloperzy wykorzystują różne wersje gradle, aby zbudować swój projekt? Pod koniec dnia każda wersja Gradle zapewnia, że zależności projektu są odpowiednio zarządzane. Na przykład, jeśli projekt rozruchowy sprężyny zależy od wersji wtyczki startowej 2.x, bez względu na wersję Gradle, narzędzie do budowy zapewnia, że 2x jest dostępny

0
A-K 12 październik 2020, 19:39

1 odpowiedź

Najlepsza odpowiedź

O ile mi wiadomo, głównym punktem korzystania z wspólnej wersji gradle jest zgodność wtyczki.

Wewnętrzne interfejsy API Gradle zmieniło wiele w ciągu ostatnich kilku wersji, więc nie każda wtyczka działa z każdą wersją gradle.

Na przykład: Spring Boot's 2.3.4 Reference wyraźnie stwierdza, że wtyczka zbudowana wymaga gradle 6.3 lub nowszej (chociaż 5.6 jest wspomniane w pracy w opakowanej formie)

https://docs.spring.io/spring-boot/docs/2.3.x/refference/htmlsingle/#getting-Started-system-requirequireements.

Tak więc, gdy możesz mieć pewność, że używana jest wersja boot Spring (ponieważ zdefiniowano go w swoim budownictwie) Każda starsza wersja gradle prawdopodobnie wpadnie na wyjątki podczas próby zbudowania projektu.

Nawet jeśli używasz wtyczek, które są dostarczane przez samą gradle, może być kwestie zgodności. Na przykład blok konfiguracji Java został po raz pierwszy wprowadzony w gradle 5 (myślę) i dlatego spowodowałoby błąd składni w wcześniejszych wersjach. Lub proste rzeczy, takie jak wersje java, że starsza wersja gradle nie obsługują.

Im więcej wtyczek, których używasz, staje się coraz bardziej mało prawdopodobne, że wiele wersji gradele będzie w stanie go uruchomić. Korzystanie z opakowania Gradle jest zatem prosty sposób, w jaki twoja kompilacja działa dla wszystkich.

A z drugiej perspektywy: Jeśli jesteś tym, który zazwyczaj utrzymuje kompilację, możesz użyć wszystkich najnowszych funkcji gradle przy użyciu opakowania, ponieważ możesz być pewien, że nic nie złamie. Ciesz się wszystkim w zespole, aby przejść ręcznie, zanim będziesz mógł użyć funkcji może być bólem

Pyszne powiedział, że jest to naprawdę primarly w kwestii konserwacji. Nic złego nie może się zdarzyć, jeśli ktoś używa własnej zainstalowanej wersji gradle, z wyjątkiem tego, że może po prostu nie działać, jeśli wszyscy w zespole używa podobnej wersji nic nie może się zdarzyć

2
Roland Kreuzer 12 październik 2020, 17:49