Analiza y automatiza las actualizaciones de dependencias

¿Quieres simplificar la administración de dependencias? Agregar algunas herramientas a tus procesos puede acelerar el proceso y guiarte a áreas que podrían requerir un poco más de atención.

Actualizaciones de versión automáticas

Android Studio destaca las versiones de biblioteca desactualizadas en el editor, junto con correcciones rápidas para actualizarlas. Sin embargo, esto requiere que revises todos tus archivos de compilación con regularidad.

Existen varias herramientas de terceros que pueden automatizar el proceso, actualizar tus archivos de compilación y, de forma opcional, crear una solicitud de extracción para el cambio. Buscan y actualizan a las versiones disponibles más recientes de cada dependencia, pero debes analizar los resultados antes del lanzamiento para garantizar la compatibilidad de comportamiento. Estos son algunos ejemplos populares:

Cómo verificar las actualizaciones disponibles

El complemento de versiones de Gradle te brinda más control sobre la actualización manual. Ejecutar su tarea dependencyUpdates (a través de ./gradlew :dependencyUpdates) genera un informe de las versiones más recientes de las dependencias de tu biblioteca. Esto puede ser útil para verificar el estado de la biblioteca y segmentar manualmente las bibliotecas que deseas actualizar en un momento determinado.

Esto puede ser especialmente útil si usas un enfoque personalizado para especificar las versiones de dependencias, en lugar de un catálogo de versiones.

Informa los cambios de dependencia

La actualización de las versiones de las bibliotecas que usas directamente puede tener un impacto mucho más amplio en tu aplicación. Es posible que cada biblioteca que uses requiera otras dependencias de bibliotecas, lo que forma un gráfico de dependencia transitiva más grande.

El protector de dependencias expone los cambios en ese gráfico entre las versiones de tu aplicación o biblioteca. Esta puede ser una herramienta invaluable para el análisis de actualizaciones, ya que te garantiza que consideres las actualizaciones directas e indirectas.

Detecta dependencias que no se usan y que se usan de forma incorrecta

Mantener tu compilación en buen estado puede mejorar la velocidad de compilación y garantizar que la aplicación y la biblioteca tengan acceso a las dependencias que necesita. El complemento de análisis de dependencias para Gradle te proporciona herramientas para examinar las dependencias y verificar el uso correcto en los archivos de compilación.

Entre sus informes, se incluyen los siguientes:

  • Dependencias sin usar
  • Dependencias transitivas usadas (debes declararlas de forma explícita para que tu aplicación pueda acceder a ellas si tus dependencias directas dejan de usarlas)
  • Las dependencias se declararon en el alcance incorrecto.
  • Uso innecesario de algunos complementos
  • Vistas de GraphViz de tus dependencias

Administración de licencias

Los desarrolladores de cada biblioteca les otorgan licencias para su uso. Debes cumplir con las condiciones de la licencia o no podrás usar esa biblioteca. Algunas licencias son muy permisivas y, a menudo, solo requieren un aviso de su uso. Algunas se consideran "virales". Si usas esas bibliotecas, debes aplicar la misma licencia a tu aplicación o biblioteca.

Las licencias pueden cambiar con cualquier versión. Cada vez que realices la actualización, deberás verificar que las dependencias que usas tengan una licencia compatible con tu aplicación o biblioteca.

Informar licencias

El complemento de Gradle License Report brinda información para informar las licencias de todas tus dependencias. Asegúrate de revisar este informe cuando actualices las dependencias. Verifica que las licencias sean compatibles con tus requisitos y asegúrate de cumplir con sus condiciones obligatorias.

Generar avisos de licencia

Los términos de las licencias suelen requerir un aviso al que los usuarios de una aplicación o los consumidores de una biblioteca pueden acceder. El complemento de licencia de Gradle genera datos o HTML para mostrar esos avisos en tu aplicación.

Si bien esto automatiza gran parte de los requisitos de aviso, no informa las licencias de recursos (por ejemplo, las licencias necesarias para las fuentes, las imágenes o los sonidos) ni las licencias de los fragmentos de código que copiaste de Internet. Debes hacer un seguimiento de ese uso e informarlo de forma manual.