Gradle-obtenir la dernière version d'une dépendance

quelle serait la façon la plus facile de dire Gradle la suivante:

récupère la dépendance ' junit 'et prend sa dernière version' release'.

Gérer les dépôts Maven et Ivy est un peu nouveau pour moi. J'ai essayé les étapes suivantes et elles ont abouti à Could not resolve dependency ... erreur:

  • Écrire compile "junit:junit:latest.release" avec des dépôts uniquement mavenCentral() (cependant, il fonctionne si je dis "junit:junit:4.10").

  • Write compile "junit:junit:latest.release" avec dépôt défini de la manière suivante:

    ivy {
        // I also tried 'http://maven.org' and other possible variants.           
        url "http://repo1.maven.org" 
        layout "maven"
    }
    
  • "tentative D'utilisation de la source à ressort Ivy repository:

    ivy {
        artifactPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
        ivyPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
    }
    

peut-être ai-je mal compris quelque chose. Pourquoi l'obtention de la version la plus récente de la dépendance serait-elle une tâche si difficile?

65
demandé sur MC Emperor 2012-04-29 11:22:22

5 réponses

Gradle ne supporte pas le RELEASE de Maven (qui est rarement utilisé et déprécié) mais il supporte le latest.release D'Ivy . Toutefois, la recommandation générale est de construire contre les versions exactes. Sinon, l'accumulation peut devenir une loterie.

32
répondu Peter Niederwieser 2017-06-22 14:41:42

Il peut être très utile parfois d'obtenir la dernière version - par exemple si vous relâchez souvent vos propres dépendances.

vous pouvez obtenir la dernière version comme

compile "junit:junit:+"

ou mieux spécifier au moins la version principale comme

compile "junit:junit:4.+"
207
répondu jmruc 2012-04-29 16:31:18

découvrez les Gradle-Versions-Plugin. Il fait exactement ce que vous voulez: https://github.com/ben-manes/gradle-versions-plugin

pour l'installation, voir la page github. Fondamentalement, vous devez ajouter ces deux lignes dans votre.gradle - fichier de projet:

apply plugin: 'com.github.ben-manes.versions'

buildscript {
    [...]
    dependencies {
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.8'
        [...]
    }
}
[...]

alors vous pouvez utiliser le plugin, en exécutant cette commande dans le terminal de votre projet dir:

./gradlew dependencyUpdates -Drevision=release

et il montrera vous qui dépendances sont dépassées!

21
répondu Ben Marten 2015-04-07 12:49:48

le dernier Guide de L'utilisateur Grad mentionne et explique plus signe dans les versions:

de 7.2. Déclarer vos dépendances :

dependencies {
    compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

... Le script de compilation indique également que n'importe quel junit >= 4.0 est nécessaire pour compiler les tests du projet.

de 23.7. Comment résolution des dépendances œuvres :

si la la dépendance est déclarée comme une version dynamique (comme 1.+ ), Grad le résoudra à la plus récente version statique disponible (comme 1.2) dans le dépôt. Pour les dépôts Maven, cela se fait en utilisant les métadonnées maven.le fichier xml, tandis que pour les dépôts Ivy cela se fait par liste de répertoire.

6
répondu RunninglVlan 2016-02-28 15:52:30

si vous utilisez + pour la version, et que vous voulez savoir quelle version est réellement utilisée , sélectionnez Project dans la barre latérale, puis sous External Libraries vous verrez le numéro de version réelle utilisée.

3
répondu lenooh 2017-09-29 22:20:00