Каталогът с версии е списък от зависимости, представени като координати на зависимости, от които потребителят може да избира, когато декларира зависимости в скрипт за компилация. Каталогът с версии беше въведен в Gradle 7.0

Защо се нуждаем от Каталог с версии?

Каталогът на версиите основно се фокусира върху целта за споделяне на зависимости между модулите. Помислете за сценарий, когато имаме само един модул в нашето приложение. В този случай можем лесно да управляваме зависимостите и неговата версия във файла build.gradle на ниво модул (тъй като трябва да актуализираме версията само в един модул).

Постепенно, когато нашето приложение се разраства, то може да съдържа множество модули. В този случай, ако се опитаме да управляваме зависимостите ръчно, в един момент се превръща в досадна задача да управляваме модули ръчно.

Ето малък пример за това как ще изглежда генерираната координата на зависимост:

В горния пример libs е името на каталога, а timber е зависимостта. Можем да използваме тази координата на зависимост в множество модули.

Едно от големите предимства на използването на каталог с версии е дефинирането на пакети. Пакетите не са нищо друго освен група от зависимости, които обикновено се използват заедно. По същество вече можете да обедините различни зависимости, които обикновено се използват заедно, и да ги дефинирате като една зависимост във вашия скрипт за компилация.

Нека да разгледаме библиотеката Retrofit, когато декларираме зависимост, обикновено трябва да добавим множество зависимости като gson, rxjava3 и т.н.

Въпреки че това не изглежда лошо. Но помислете за проекта, в който имаме множество модули. И във файла build.gradleна ниво модул имаме множество зависимости като по-горе.

С пакетите обаче можем да дефинираме пакета със зависимости в нашия конфигурационен файл (в нашия случай settings.gradle) и след това да посочим този пакет в нашия скрипт за компилация.

Така че вместо да дефинираме 3 различни зависимости, сега имаме една единствена зависимост под формата на пакет. Вече можем да декларираме тази единична зависимост на различни build.gradle файлове на ниво модул. Добавянето на единичен пакет е същото като дефинирането им поотделно.

Настройвам

Сега нека научим как да настроим каталог с версии в нашето приложение. Преди да можем да създадем конфигурационен файл на зависимост като settings.gradle,трябва да активираме функцията за каталог на версиите. За да го активирате, просто добавете това към вашия файл settings.gradle.

След като стартирате синхронизирането на Gradle, функцията е активирана. Сега можем да започнем да добавяме различни зависимости в каталога.

Създаване на каталога във файла settings.gradle

Тук използвахме библиотеката на Timber за справка. За да бъде налична зависимостта от Timber, трябва да свържем псевдоним с координати на група, артефакт, версия.

Тук „libs“ е име на каталог с версии. Но ние можем да предоставим име според нашето удобство, като deps или зависимости и т.н. Декларацията на версия (“timber”,”4.7.1”) не е задължителна и можем директно да използваме версия във versionRef, но ще бъде подходящо, когато имаме множество зависимости и всички използват една и съща версия като:

Сега нека да разгледаме как да дефинираме пакети. Както можете да видите, имаме псевдоними за retrofit, gson и rxjava3. Така че просто трябва да предадем тези псевдоними към пакета.

Това е всичко, сега можем да препращаме към нашия пакет във файл build.gradle на ниво модул като:

Нашият settings.gradleконфигурационен файл ще изглежда по следния начин:

Обърнете внимание, че ако добавим някакъв модул, трябва да го добавим в settings.gradleконфигурационен файлс помощта на include. В момента имаме само един модул, наречен приложение.

Заключение

Каталогът с версии е ефективен начин за управление на нашите зависимости, когато имаме множество модули (тъй като трябва да актуализираме зависимостите само на едно място) и всичко останало ще се управлява от каталога на версиите. Тъй като каталогът с версии все още е функция за предварителен преглед, той подлежи на промяна и може също да е ненадежден в определени случаи.

Надяваме се, че това ще ви помогне да започнете с каталога на версиите.

Благодаря за подкрепата!

Ако вихаресвате това, което четете, не забравяйте да 👏👏👏 по-долу — като писател това означава светът!

Следвайте Canopas Software , за да получавате актуализации за интересни технически статии!

Приятно кодиране!