Catálogos de versiones de Gradle para una gran gestión de dependencias | de Matías Calvo | mayo 2022

El Ateneo Grand Splendid

Administrar dependencias en un proyecto de un solo módulo es bastante fácil, pero una vez que comience a escalar y agregar módulos, tiene un par de formas de manejarlo:

  • Gestión manual: Indica que la misma cadena que contiene el grupo de bibliotecas, el artefacto y la versión está presente en muchos lugares.
    Si una biblioteca necesita ser actualizada, tenemos que cambiarla manualmente en cada archivo de Gradle, esto es muy propenso a errores.
  • ext Bloques: Esta es la solución recomendada por Google en su documentación y soluciona los problemas de gestión manual. El único inconveniente es que el IDE no ofrece finalización de código.
  • buildSrc: con este enfoque, utiliza un módulo especial de Gradle y define sus dependencias mediante el código de Kotlin. El principal beneficio de esta opción es el autocompletado y la navegación, mientras que la desventaja es que cada vez que cambia una versión, se debe volver a compilar todo el módulo.

Para proporcionar un estándar para la gestión, el equipo de Gradle presentó catálogos de lanzamiento como característica experimental en la versión 7.0 y promovido a la versión estable 7.4 🎉. Esta característica permite que las dependencias se compartan de forma centralizada con una sintaxis simple y sin afectar la velocidad de compilación.

Puede crear los catálogos de versiones manualmente en settings.gradle Sin embargo, la forma más sencilla es usar un archivo TOML, que es realmente fácil de entender.

Contenidos

1️. Asegúrate de estar usando Gradle 7.4 o más reciente

Esto se puede comprobar fácilmente con:

./gradlew --version 

En caso de que necesite actualizar, puede realizar esta tarea ejecutando:

./gradlew wrapper --gradle-version=7.4.2

2. Crea el archivo TOML

Vamos a crear esos gradle/libs.versions.tomlque Gradle usa por defecto para crear el libs Catalogar. Este archivo puede contener cuatro secciones:

  • [versions] se utiliza para declarar los números de versión que luego serán referenciados por complementos y bibliotecas.
  • [libraries] Defina las bibliotecas a las que se accederá más adelante en nuestros archivos Gradle.
  • [bundles] Se utiliza para definir un conjunto de dependencias.
  • [plugins] Agregado en Gradle 7.2, utilizado para definir complementos.

ℹ️ Soy [libraries]Encontrará diferentes formas de expresar una biblioteca o un complemento en el archivo TOML.

ℹ️ Puedes usar separadores como -, _, . esto es normalizado por Gradle . en el catálogo y permitir la creación de subcategorías.

ℹ️ Las variables definidas son CamelCase.

3. Configure su directorio raíz build.gradle Archivo:

Reemplazar viejo dependencies cuadra

Para el plugins Cuadra.

⚠️ Debe incluir aquí los complementos que utilizará en todos sus módulos apply false Sufijo. La excepción a esta regla es la que usas solo en esta tribu build.gradle Archivo.

4. Ahora es tu turno de aplicar build.gradle expediente

Defina sus complementos en la parte superior de su build.gradle archivo y la implementación

⚠️ Si usas Jetpack Compose puedes configurarlo así:

Android Studio tiene este soporte para archivos TOML:

👍 Se verifica la corrección del archivo TOML al compilar su proyecto.

👎 Autocompletado de archivos Gradle

👎 Sugerencia para actualizar la dependencia

Complemento para actualizar dependencias:

La comunidad viene al rescate hasta que el IDE se pone al día 🎉

Este complemento creado por Hugo Visser le permite actualizar todas sus dependencias ejecutando una tarea Gradle, es fácil de configurar y también puede anclar algunas bibliotecas para evitar actualizarlas.

Deja una respuesta

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