Analyser et automatiser les mises à niveau des dépendances

Vous souhaitez simplifier la gestion des dépendances ? Ajouter des outils à vos processus peut accélérer les choses et vous indiquer les domaines qui pourraient nécessiter un peu plus d'attention.

Mises à niveau automatiques des versions

Android Studio met en évidence les versions de bibliothèque obsolètes dans l'éditeur, ainsi que des correctifs rapides pour les mettre à niveau. Toutefois, cela nécessite de vérifier régulièrement tous vos fichiers de compilation.

De nombreux outils tiers peuvent automatiser le processus, mettre à niveau vos fichiers de compilation et éventuellement créer une demande de tirage pour le changement. Ils recherchent et mettent à jour les dernières versions disponibles de chaque dépendance, mais vous devez toujours analyser les résultats avant la publication pour vous assurer de la compatibilité comportementale. Voici quelques exemples courants:

Vérifier les licences disponibles

Le plug-in de versions Gradle vous permet de contrôler plus précisément les mises à niveau manuelles. Exécuter sa tâche dependencyUpdates (via ./gradlew :dependencyUpdates) génère un rapport sur les versions plus récentes de vos dépendances de bibliothèques. Cela peut être utile pour vérifier l'état des bibliothèques et cibler manuellement les bibliothèques que vous souhaitez mettre à niveau à un moment donné.

Cela peut être particulièrement utile si vous utilisez une approche personnalisée pour spécifier les versions de vos dépendances, plutôt qu'un catalogue de versions.

Signaler les modifications de dépendance

La mise à niveau des versions des bibliothèques que vous utilisez directement peut avoir un impact beaucoup plus large sur votre application. Chaque bibliothèque que vous utilisez peut nécessiter d'autres dépendances de bibliothèque, formant un graphe de dépendances transitives plus important.

Le gardien de dépendances expose les modifications de ce graphique entre les versions de votre application ou bibliothèque. Il s'agit d'un outil précieux pour l'analyse des mises à niveau, qui vous permet d'envisager les mises à niveau directes et indirectes.

Détecter les dépendances inutilisées et mal utilisées

Maintenir votre build en bon état peut améliorer la vitesse de compilation et vous assurer que votre application et votre bibliothèque ont accès aux dépendances dont elles ont besoin. Le plug-in Gradle d'analyse des dépendances vous fournit des outils pour examiner vos dépendances et vérifier leur utilisation appropriée dans vos fichiers de compilation.

Ses rapports incluent les éléments suivants:

  • Dépendances inutilisées
  • Dépendances transitives utilisées (vous devez les déclarer explicitement pour que votre application puisse y accéder si vos dépendances directes ne les utilisent plus)
  • Dépendances déclarées dans le mauvais champ d'application
  • Utilisation inutile de certains plug-ins
  • Vues GraphViz de vos dépendances

Gestion des licences

Les développeurs de chaque bibliothèque vous en accordent une licence. Vous devez respecter les conditions de la licence, sans quoi vous ne pouvez pas utiliser cette bibliothèque. Certaines licences sont très permissives et ne nécessitent souvent qu'une notification de leur utilisation. Certaines sont considérées comme "virales". Si vous utilisez ces bibliothèques, vous devez appliquer la même licence à votre application ou bibliothèque.

Les licences peuvent changer à chaque version. Chaque fois que vous effectuez une mise à niveau, vous devez vérifier que les dépendances que vous utilisez sont sous licence compatible avec votre application ou votre bibliothèque.

Signaler des licences

Le plug-in Gradle License Report vous aide à générer des rapports sur les licences de toutes vos dépendances. Veillez à consulter ce rapport lorsque vous mettez à niveau des dépendances. Vérifiez que les licences sont compatibles avec vos exigences et assurez-vous de respecter les conditions requises.

Générer des mentions de licence

Les conditions de licence exigent souvent une notification que les utilisateurs d'une application ou les consommateurs d'une bibliothèque peuvent consulter. Le plug-in de licence Gradle génère des données ou du code HTML pour afficher ces avis dans votre application.

Bien que cette fonctionnalité automatise une grande partie de vos exigences en matière de notification, elle ne signale pas les licences de ressources (par exemple, les licences requises pour les polices, les images ou les sons) ni les licences des extraits de code que vous avez copiés sur Internet. Vous devez suivre et signaler manuellement cette utilisation.