Comment mettre à jour les dépendances de Gradle à leur dernière version
y a-t-il un moyen facile d'amener gradle à mettre à jour les dépendances à leur dernière version disponible?
pour la reproductibilité de construction toutes mes dépendances sont définies avec un numéro de version comme celui-ci dans ma construction.gradle fichier:
dependencies {
compile 'namespace:package1:version'
compile 'namespace:package2:version'
compile 'namespace:package3:version'
}
périodiquement je veux mettre à jour chaque paquet à leur dernière version. Généralement c'est la première chose que je fais pour un nouveau sprint après avoir fait une version.
C'est une vraie douleur de faire ce manuellement pour chaque paquet. Idéalement, je voudrais une commande pour mettre à jour le construire.Grad le fichier pour moi mais au moins une commande qui imprime quel paquet a besoin d'une mise à jour et quel est le numéro de la dernière version.
à ruby land, j'ai lancé bundler update.
4 réponses
C'est tout ce que j'ai pu trouver. J'accepterai volontiers une autre réponse s'il existe une méthode moins manuelle.
-
Dans Android studio, j'ai remplacer toutes les dépendances version avec une plus exemple:
compile 'namespace:package1:+'
-
synchroniser ou construire le projet qui permettra de résoudre toutes les dépendances à leur dernière version.
-
In Android Studio place le curseur sur chaque ligne de dépendance dans la compilation.gradle et appuyez sur alt+enter un menu apparaît et vous pouvez sélectionner remplacer par la version spécifique
ce n'est pas vraiment une bonne pratique car les bibliothèques peuvent inclure des changements qui peuvent casser votre code.
une syntaxe courante "tolérée" pour
compile 'namespace:package:major_version.minor_version.revision'
serait comme
compile 'namespace:package:1.0.+'
considérant révision est utilisé par la bibliothèque des auteurs que des corrections de bugs et améliorations des mises à jour
Note: Je viens de faire ça et que vous pourriez faire
compile 'namespace:package:+'
Edit:
Un Preuve De Concept de mon derniers commentaires , vous pouvez les tester.
cela a été fait en 5 minutes, donc ne vous attendez pas à ce qu'il soit parfait ni flexible.
ajouter à build.gradle
:
plugins {
id 'com.github.ben-manes.versions' version '0.17.0'
}
alors vous pouvez faire gradle dependencyUpdates
pour obtenir un rapport des nouvelles versions. Contrairement au plugin Maven éponyme, il ne semble pas y avoir de moyen de mettre à jour automatiquement le build.gradle
encore.
plus de documentation: https://github.com/ben-manes/gradle-versions-plugin
j'en souffre aussi. Et la meilleure façon de vérifier les dépendances, même manuellement, est de passer par la Structure du projet et de rechercher le nom de la dépendance et de voir s'il y a une nouvelle version.
le problème que cette requête ne vérifie que les dépendances présentes dans le dépôt Maven. Au moins, il va déjà pour Google.
Remarque: Si vous choisissez d'ajouter la dépendance avec la nouvelle version, cela va ajouter une duplicité dans votre Application Gradle, alors assurez-vous de supprimer l'ancienne ligne de dépendance.
#une autre solution rapide possible est la ligne de commande:
./gradlew app: dependencies
cela générera une sortie comme celle ci-dessous. Notez que l'astérisque points à une éventuelle nouvelle version existante.