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 uniquementmavenCentral()
(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?
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.
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.+"
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!
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.
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.