Chapitre Présentation du langage Groovy
Programmation DSL avec Groovy et Gradle
Explorer et comprendre l'utilisation de la Domain Specific Language (DSL) de Gradle dans un script Groovy.
Dernière modification : Dec 08 , 2024
Dernière modification : Dec 08 , 2024
Instructions
-
Création d'un Projet Simple :
- Initialisez un nouveau projet Gradle avec la structure de base.
- Utilisez la DSL Gradle pour définir le groupe, le nom et la version du projet.
-
Définition de Dépendances :
- Ajoutez des dépendances à votre projet en utilisant la DSL Gradle.
- Utilisez au moins une dépendance pour une bibliothèque tierce.
-
Configuration de Tâches :
- Définissez une tâche personnalisée appelée "bonjour" qui imprime un message de salutation.
- Utilisez la DSL Gradle pour spécifier l'exécution de cette tâche après la tâche de compilation.
-
Personnalisation des Propriétés du Projet :
- Ajoutez des propriétés personnalisées à votre script Gradle en utilisant la DSL Gradle.
- Utilisez ces propriétés pour paramétrer des valeurs telles que le répertoire de sortie de compilation.
-
Utilisation de Plugins :
- Ajoutez un plugin spécifique, par exemple, le plugin java ou application.
- Configurez ce plugin en utilisant la DSL Gradle pour définir des propriétés spécifiques du plugin.
Exemple de structure du projet
mon-projet/
|-- build.gradle
|-- src/
|-- main/
|-- java/
|-- resources/
Exemple de solution attendue
// build.gradle
// Définition des propriétés du projet
group 'com.example'
version '1.0.0'
// Ajout de dépendances
dependencies {
implementation 'com.google.guava:guava:30.1-jre'
testImplementation 'junit:junit:4.13.2'
}
// Plugin Java
apply plugin: 'java'
// Configuration du plugin
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
// Tâche personnalisée "bonjour"
task bonjour {
doLast {
println("Bonjour, ceci est une tâche personnalisée Gradle !")
}
}
// Utilisation de la tâche "bonjour" après la compilation
compileJava.dependsOn bonjour
// Propriétés personnalisées
ext {
outputDir = file("$buildDir/myOutputDir")
}
// Utilisation des propriétés personnalisées
tasks.withType(JavaCompile) {
options.compilerArgs << "-d" << outputDir
}
Pour approfondir
La documentation officielle de Gradle et la DSL Gradle sont d'excellentes ressources pour explorer davantage les fonctionnalités disponibles.