Gradle et la notion de tâches
Dans cet exercice, nous allons créer un projet et comprendre le fonctionnement de Gradle.
Etape 1: Créer un projet vide Gradle
Pour démarrer, nous allons créer un répertoire gradle-debut
.
Dans ce répertoire, créer un fichier build.gradle
vide.
Etape 2 : Comprendre le fonctionnement du démon gradle
La compilation de fichiers Groovy est assez lente. Pour garantir des performances élevées, Gradle a créé la notion de démon gradle.
Vous pouvez vérifier la présence d'un démon gradle avec :
gradle --status
Quel est le principe de fonctionnement du démon gradle ?
Pour stopper les démons, tapez :
gradle --stop
Etape 3 : Créer des tâches
Créer 4 tâches gradle sur le modèle suivant :
task nomTache {
println "Execution de la tâche nomTache"
}
Exemple les tâches compile, test, packaging, install
Afficher les tâches disponibles de votre build gradle en tapant :
gradle tasks
Pourquoi les tâches ne sont pas affichées ?
Etape 4 Ajouter la documentation aux tâches
Ajouter dans le bloc de chaque tâche sur le modèle suivant
task compilation {
group = "Mon premier plugin"
description = "Compilation des sources"
}
Afficher les tâches disponibles de votre build gradle en tapant :
gradle tasks
Etape 5 : Exécuter les tâches séparément
Appelez chaque tâche en exécutant la commande :
gradle nomTache
Que constatez vous lors de l'exécution ?
Débugguez en utilisant :
gradle --info nomTache
Est ce que votre tâche est bien exécutée ?
Etape 6 : Comprendre la phase d'initialisation dans gradle
La phase d'initilisation consiste à déterminer quels projets vont être exécutés ( dans l'hypothèse ou votre projet de développement est multi-projet).
Pour vérifier cela, créer le fichier settings.gradle
.
Ajouter le code suivant :
rootProject.name ="mon-projet"
println "Initialisation"
Débugguez en utilisant :
gradle --info nomTache
Quand est appelé le fichier
settings.gradle
?
Important
Le fonctionnement de Gradle
- Il lance un nouveau processus JVM
- Il parse le fichier
gradle.properties
et configure Gradle en fonction des paramètres chargés - Ensuite, il crée une instance de
Settings
pour le build - Alors, il évalue le fichier
settings.gradle
avec l'object Settings - Il créer une hiérarchie de Projects, basés sur l'objet configuré Settings
- Finalement, il exécute chaque fichier
build.gradle
contre ce projet.
Etape 7 : Comprendre la différence entre configuration et exécution
Modifiez les tâches sur le modèle :
task nomTache {
println "Configuration de la tâche XYZ"
doLast {
println "Exécution de la tâche XYZ"
}
}
Exécutez la tâche nomTache
Quels messages s'affichent-ils ?
Une tâche possède un cycle de vie :
- Elle est instanciée, puis configurée et éventuellement exécutée si son état est
dirty
et si tout se passe bien elle devientUP_TO_DATE
.
Bravo, vous êtes venus au bout de cet exercice et vous avez découvert le cycle de vie de Gradle.