Gradle - Gestion des dépendances

Le script de construction Gradle définit un processus pour créer des projets; chaque projet contient des dépendances et des publications. Les dépendances désignent les éléments qui prennent en charge la création de votre projet, comme le fichier JAR requis à partir d'autres projets et les JAR externes tels que JDBC JAR ou Eh-cache JAR dans le chemin de classe. Publications signifie les résultats du projet, tels que les fichiers de classe de test et les fichiers de construction, comme les fichiers war.

Presque tous les projets ne sont pas autonomes. Ils ont besoin de fichiers créés par d'autres projets pour compiler et tester les fichiers source. Par exemple, pour utiliser Hibernate dans le projet, vous devez inclure des fichiers JAR Hibernate dans le classpath. Gradle utilise un script spécial pour définir les dépendances, qui doivent être téléchargées.

Gradle s'occupe de construire et de publier les résultats quelque part. La publication est basée sur la tâche que vous définissez. Il peut souhaiter copier les fichiers dans le répertoire local, ou les télécharger dans un référentiel Maven ou lvy distant ou vous pouvez utiliser les fichiers d'un autre projet dans la même génération multi-projets. Nous pouvons appeler le processus de publication d'une tâche la publication.

Déclaration de vos dépendances

La configuration des dépendances n'est rien d'autre qu'une définition d'un ensemble de dépendances. Vous pouvez utiliser cette fonctionnalité pour déclarer les dépendances externes que vous souhaitez télécharger à partir du Web. Cela définit différents standers comme suit.

apply plugin: 'java'

repositories {
   mavenCentral()
}

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

Configurations de dépendance

La configuration des dépendances n'est rien d'autre que définit un ensemble de dépendances. Vous pouvez utiliser cette fonctionnalité pour déclarer des dépendances externes, que vous souhaitez télécharger à partir du Web. Ceci définit les différentes configurations standard suivantes.

  • Compile - Les dépendances nécessaires pour compiler la source de production du projet.

  • Runtime- Les dépendances requises par les classes de production à l'exécution. Par défaut, inclut également les dépendances au moment de la compilation.

  • Test Compile- Les dépendances nécessaires pour compiler la source de test du projet. Par défaut, il inclut les classes de production compilées et les dépendances au moment de la compilation.

  • Test Runtime- Les dépendances requises pour exécuter les tests. Par défaut, il inclut les dépendances d'exécution et de compilation de test.

Dépendances externes

Les dépendances externes sont celles du type de dépendances. Il s'agit d'une dépendance de certains fichiers construits en dehors de la version actuelle, et stockés dans un référentiel quelconque, tel que Maven central, ou un référentiel d'entreprise Maven ou lvy, ou un répertoire dans le système de fichiers local.

L'extrait de code suivant consiste à définir la dépendance externe. Utilisez ce code dansbuild.gradle fichier.

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

Une dépendance externe déclare des dépendances externes et le formulaire de raccourci ressemble à "groupe: nom: version".

Référentiels

Lors de l'ajout de dépendances externes. Gradle les recherche dans un référentiel. Un référentiel est juste une collection de fichiers, organisés par groupe, nom et version. Par défaut, Gradle ne définit aucun référentiel. Nous devons définir au moins un référentiel explicitement. L'extrait de code suivant définit comment définir le référentiel maven. Utilisez ce code dansbuild.gradle fichier.

repositories {
   mavenCentral()
}

Le code suivant consiste à définir le maven distant. Utilisez ce code dansbuild.gradle fichier.

repositories {
   maven {
      url "http://repo.mycompany.com/maven2"
   }
}

Publication d'artefacts

Les configurations de dépendance sont également utilisées pour publier des fichiers. Ces fichiers publiés sont appelés artefacts. Habituellement, nous utilisons des plug-ins pour définir des artefacts. Cependant, vous devez indiquer à Gradle où publier les artefacts. Vous pouvez y parvenir en attachant des référentiels à la tâche de téléchargement des archives. Jetez un œil à la syntaxe suivante pour publier le référentiel Maven. Lors de l'exécution, Gradle générera et téléchargera un Pom.xml selon les exigences du projet. Utilisez ce code dansbuild.gradle fichier.

apply plugin: 'maven'

uploadArchives {
   repositories {
      mavenDeployer {
         repository(url: "file://localhost/tmp/myRepo/")
      }
   }
}