Quelle serait la meilleure façon de dire à Gradle
ce qui suit:
Récupérez la dépendance 'junit' et prenez sa dernière version 'release'.
La gestion des référentiels Maven et Ivy est quelque chose de nouveau pour moi. J'ai essayé les étapes suivantes et elles ont pour résultat l'erreur Could not resolve dependency ...
:
Ecrivez compile "junit:junit:latest.release"
Avec les référentiels réglés sur seulement mavenCentral()
(cependant, cela fonctionne si je dis "junit: junit: 4.10").
Écrivez compile "junit:junit:latest.release"
Avec le référentiel 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 du référentiel Spring Source Ivy:
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 que je comprends mal quelque chose. Pourquoi la version dernière de la dépendance serait-elle une tâche difficile?
Gradle ne prend actuellement pas en charge le RELEASE
de Maven (qui est rarement utilisé et obsolète), mais il prend en charge le latest.release
. Cependant, la recommandation générale est de construire par rapport aux versions exactes. Sinon, la construction peut devenir une loterie.
Il peut être parfois utile d’obtenir la dernière version - si par exemple vous libérez souvent vos propres dépendances.
Vous pouvez obtenir la dernière version comme
compile "junit:junit:+"
ou mieux préciser au moins la version majeure comme
compile "junit:junit:4.+"
Découvrez le 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. En gros, vous devez ajouter ces deux lignes à votre fichier build.gradle - project:
apply plugin: 'com.github.ben-manes.versions'
buildscript {
[...]
dependencies {
classpath 'com.github.ben-manes:gradle-versions-plugin:0.8'
[...]
}
}
[...]
Ensuite, vous pouvez utiliser le plugin, en exécutant cette commande dans terminal dans votre répertoire de projet:
./gradlew dependencyUpdates -Drevision=release
Et cela vous indiquera quelles dépendances sont obsolètes!
Le dernier Guide de l'utilisateur de Gradle mentionne et explique les versions de connexion ainsi:
De 7.2. Déclarer ses 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 construction indique également que tout junit> = 4.0 est requis pour compiler les tests du projet.
De 23.7. Fonctionnement de la résolution de dépendance :
Si la dépendance est déclarée en tant que version dynamique (telle que 1. +), Gradle résoudra ce problème en la version statique la plus récente disponible (telle que 1.2) dans le référentiel. Pour les référentiels Maven, cela se fait à l'aide du fichier maven-metadata.xml, tandis que pour les référentiels Ivy, cela se fait par liste de répertoires.
Dans Android Studio:
Si vous utilisez +
pour la version et vous voulez savoir quelle version est effectivement utilisée , sélectionnez Project
dans l'encadré, puis sous External Libraries
vous verrez le numéro de version actuel utilisé.