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.

20
demandé sur Jared Kells 2015-02-16 13:02:36

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.

  1. Dans Android studio, j'ai remplacer toutes les dépendances version avec une plus exemple: compile 'namespace:package1:+'

  2. synchroniser ou construire le projet qui permettra de résoudre toutes les dépendances à leur dernière version.

  3. 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

18
répondu Jared Kells 2015-02-16 10:56:38

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.

5
répondu Gorcyn 2017-05-23 11:46:19

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

1
répondu Robert Jack Will 2017-12-06 13:17:37

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.

enter image description here

enter image description here

enter image description here

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.

enter image description here

1
répondu Paulo Linhares - Packapps 2018-04-29 18:48:09