Gradle est outil de gestion et de construction de projet basé sur la JVM (Java Virtual Machine).
Il est permet de créer des tâches de construction à l’aide d’un DSL (Domain Specific Language) reposant sur le langage Groovy.
Les travaux pratiques
Les travaux pratiques de cette formation vont consister à migrer quelques projets open source (disponible sur Github) de Maven à Gradle.
Cela nous permettra d’aborder des problématiques de configuration de projet réaliste.
Contenu de la formation
Rappels sur le langage Groovy
- Introduction au langage Groovy
- Classes & POGOS
- Opérations arithmétiques
- Chaines de caractères
- Sucharge des opérateurs
- Collections
- Closures
- Groovy Truth
- I/O avec Groovy
Gradle
- Présentation de Gradle
- Gradle face à la concurrence
- Cycle de vie
- Lignes de commande
- API Project
Tâches
- Créer une tâche
- Configuration vs Action
- Du groovy dans Gradle
- Dépendances entre les tâches
- Créer dynamiquement des tâches
- Manipuler des tâches existantes
- Propriétés dynamiques
- Typer une tâche
- Créer une tâche personnalisée
Plugins
- Les plugins dans Gradle
- Types de plugins
- Utiliser un plugin
Plugin Java
- Présentation du plugin Java
- Gradle build
- Notion de SourceSet
- Les tâches du plugin Java
- Conventions du plugin Java
- Propriétés
Gestion de dépendances
- Les dépendances dans Gradle
- Notion de dépôt
- Configuration d’une dépendance
- Catégories de dépendance
- Déclarer une dépendance
Multiprojets
- Notion de modularité
- Fichier settings.gradle
- Organisation hierarchique vs flat
- Bien configurer un projet multi-projets
Plugin Maven
- Présentation du plugin Maven
- Les tâches du plugin Maven
Configuration de Log
- Présentation de SLF4J
- Utiliser les logs
- Configurer les logs
Plugins personnalisés
- API Plugin
- Etendre le DSL
- Packager et distribuer un plugin