Chcesz uprościć zarządzanie zależnościami? Wprowadzenie narzędzi do swoich procesów może przyspieszyć pracę i wskazać obszary, które wymagają większej uwagi.
Automatyczne uaktualnienia wersji
Android Studio wyróżnia w edytorze przestarzałe wersje biblioteki oraz proponuje szybkie rozwiązania, które pozwolą je zaktualizować. Wymaga to jednak regularnego sprawdzania wszystkich plików build.
Istnieje wiele narzędzi innych firm, które mogą zautomatyzować ten proces, uaktualnić pliki kompilacji i opcjonalnie utworzyć żądanie pull dotyczące zmiany. Lokalizują i aktualizują się do najnowszych dostępnych wersji każdej zależności, ale wciąż musisz przeanalizować wyniki przed wydaniem, by zapewnić zgodność behawioralną. Oto kilka popularnych przykładów:
- Dependabot
- refreshVersions (Odświeżanie wersji)
- Renovate
Sprawdzanie dostępnych licencji
Wtyczka wersji Gradle zapewnia większą kontrolę nad uaktualnianiem.
Uruchomienie zadania dependencyUpdates
(za pomocą polecenia ./gradlew :dependencyUpdates
) generuje raport o nowszych wersjach zależności bibliotek. Może to być przydatne, aby sprawdzić stan biblioteki i ręcznie wybrać biblioteki, które chcesz uaktualnić w danym momencie.
Może to być szczególnie przydatne, jeśli zamiast katalogu wersji używasz niestandardowego podejścia do określania wersji zależności.
Zgłoś zmiany w zależności
Uaktualnianie wersji bibliotek, których używasz bezpośrednio, może mieć znacznie większy wpływ na Twoją aplikację. Każda używana przez Ciebie biblioteka może wymagać innych zależności bibliotek, tworząc większy graf zależności przejmowanych.
Ochrona zależności pokazuje zmiany na tym wykresie między wersjami aplikacji lub biblioteki. Może to być nieocenione narzędzie do analizy uaktualnień, które pozwoli Ci brać pod uwagę uaktualnienia bezpośrednie i pośrednie.
Wykrywanie nieużywanych i niewłaściwie używanych zależności
Utrzymanie kompilacji w dobrym stanie może przyspieszyć kompilację oraz zapewnić dostęp aplikacji i biblioteki do potrzebnych zależności. Wtyczka Gradle do analizy zależności udostępnia narzędzia do sprawdzania zależności pod kątem prawidłowego użycia w plikach kompilacji.
Raporty te obejmują:
- Nieużywane zależności
- Użyto zależności przechodnich (należy je jawnie zadeklarować, aby aplikacja miała do nich dostęp, gdy bezpośrednie zależności przestaną ich używać)
- Zależność zadeklarowana w nieprawidłowym zakresie
- Niepotrzebne używanie niektórych wtyczek
- Widoki zależności w GraphViz
Zarządzanie licencją
Deweloperzy każdej biblioteki udzielają licencji na jej używanie. Musisz przestrzegać warunków licencji, w przeciwnym razie nie będziesz mieć możliwości korzystania z tej biblioteki. Niektóre licencje są bardzo liberalne i często wymagają tylko powiadomienia o ich wykorzystaniu. Niektóre z nich są uznawane za „wirusowe”. Jeśli korzystasz z tych bibliotek, musisz zastosować tę samą licencję do swojej aplikacji lub biblioteki.
Licencje mogą się zmieniać w dowolnym wydaniu. Podczas aktualizacji sprawdź, czy używane przez Ciebie zależności są licencjonowane w sposób zgodny z Twoją aplikacją lub biblioteką.
Raportowanie licencji
Wtyczka Gradle License Report pomaga w sprawozdawaniu licencji wszystkich zależności. Pamiętaj, aby sprawdzić ten raport, gdy aktualizujesz zależności. Sprawdź, czy licencje są zgodne z Twoimi wymaganiami i upewnij się, że spełniasz wymagane warunki.
Generowanie powiadomień o licencjach
Warunki licencji często wymagają powiadomienia, że użytkownicy aplikacji lub użytkownicy biblioteki mogą uzyskać dostęp. Plik plug-ina Gradle License generuje dane lub kod HTML, aby wyświetlać takie powiadomienia w aplikacji.
Automatyzacja obejmuje większość wymagań dotyczących powiadomień, ale nie dotyczy raportowania licencji na zasoby (np. licencji na czcionki, obrazy lub dźwięki) ani licencji na fragmenty kodu skopiowane z internetu. Musisz ręcznie śledzić i zgłaszać takie przypadki.