Dominar la gestión de dependencias de Gradle con catálogos de versiones: una guía completa | de Kashif Mehmood | abril 2023

https://www.pexels.com/photo/a-woman-sitting-at-a-desk-in-a-library-6549635/ En proyectos de Android complejos y modulares, administrar dependencias puede ser una tarea desalentadora y que requiere mucho tiempo. . Los catálogos de versiones de Gradle, introducidos en Gradle 7.0 y promovidos a estables en la versión 7.4, brindan una solución elegante para optimizar la administración de dependencias. En esta guía completa, exploraremos los beneficios de las galerías de versiones, mostraremos cómo implementarlas en un proyecto de Android usando fragmentos de código y brindaremos sugerencias para ayudarlo a aprovechar al máximo esta poderosa función.

Contenidos

¿Por qué utilizar catálogos de versiones?

  1. Configuración centralizada y compartible: al consolidar las coordenadas de dependencia en un solo archivo, los catálogos de versiones simplifican la administración y promueven una configuración uniforme en varios proyectos.
  2. Rendimiento mejorado: en comparación con buildSrc, los catálogos de versiones ofrecen un mejor rendimiento porque la actualización de las versiones de dependencia ya no requiere una reconstrucción completa.
  3. Flexibilidad: los catálogos de versiones admiten la creación de paquetes de dependencia, lo que permite a los desarrolladores incluir una sola línea de implementación para un conjunto de bibliotecas en sus archivos Gradle.
  4. Los catálogos de versiones admiten complementos de terceros para actualizaciones automáticas de versiones y ofrecen un mejor rendimiento en comparación con las soluciones buildSrc. Dependencias de tipo seguro: los catálogos de versiones fomentan las declaraciones de dependencia de tipo seguro, reducen los errores tipográficos y mejoran la compatibilidad con IDE para el soporte de contenido.

Implementación de catálogos de versiones en un proyecto Android:

Siga estos sencillos pasos para integrar catálogos de versiones en su proyecto de Android:

  1. Asegúrese de que su proyecto use Gradle 7.4 o más reciente. Verifique o actualice ejecutando los comandos apropiados de Gradle Wrapper.
  2. Cree un archivo libs.versions.toml en su carpeta raíz de Gradle para almacenar sus definiciones de dependencia, incluidas versiones, bibliotecas, paquetes y complementos.
  3. Aquí hay un fragmento con algunos ejemplos:

[versions]compileSdk = «33» minSdk = «24» targetSdk = «33» voyager = «1.0.0-rc04» material-icon-versión = «1.3.0»[libraries]voyager-navigator = { módulo = «cafe.adriel.voyager:voyager-navigator», version.ref = «voyager» }voyager-bottomSheetNavigator = { módulo = «cafe.adriel.voyager:voyager-bottom-sheet-navigator», version.ref = «voyager» }voyager-tabNavigator = { módulo = «cafe.adriel.voyager:voyager-tab-navigator», version.ref = «voyager» }voyager-transitions = { módulo = «cafe.adriel.voyager :voyager-transitions», version.ref = «voyager» }material-icon-extended = {module = «org.jetbrains.compose.material:material-icons-extended», version.ref = «material-icon-version» }4. Configure su archivo settings.gradle para habilitar la versión catalogsenableFeaturePreview(«VERSION_CATALOGS»)enableFeaturePreview(«TYPESAFE_PROJECT_ACCESSORS») 5. Ahora sincronice los archivos de Gradle y reconstruya su proyecto.6. Actualice el archivo build.gradle de su aplicación para definir sus complementos e implementaciones usando el catálogo de versiones: complementos {id ‘com.android.application’id ‘kotlin-android’}android {// Su configuración de Android aquí} dependencias {implementación(libs. voyager.navigator)implementación(libs.voyager.transitions)implementación(libs.voyager.bottomSheetNavigator)api(compose.material)}7. Estás listo.

Puntos importantes a saber

  • Las galerías de versiones admiten actualizaciones automáticas de versiones mediante herramientas como RenovateBot para proyectos de GitHub. Este bot lee su archivo libs.versions.toml y crea solicitudes de extracción para actualizar sus dependencias.
  • Actualmente, los catálogos de versiones no admiten complementos de secuencias de comandos precompiladas. Las dependencias declaradas en libs.versions.toml serán visibles en los archivos build.gradle de todos sus módulos, pero no en los personalizados/precompilados. Puede evitar esta limitación creando una función de extensión para exponer manualmente la dependencia.

Diploma

Las galerías de versiones proporcionan una forma mejorada de administrar dependencias en proyectos de Android. Simplifican el mantenimiento, aprovechan la flexibilidad de Gradle y la comunidad los adopta cada vez más. Si sigue los pasos descritos en este artículo, puede integrar fácilmente catálogos de versiones en sus proyectos de Android y aprovechar una mejor administración de dependencias.

Más recursos

Deja una respuesta

Tu dirección de correo electrónico no será publicada.