Formation Gradle

Maitriser l'outil de construction de projet Gradle.

Présentation

Cette formation est conçue pour vous initier à l'usage de Gradle.

Objectifs

La formation Gradle vise l'acquisition des compétences suivantes :

  • Maitriser le cycle de vie d'un projet avec Gradle
  • Savoir migrer un projet Maven à Gradle

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.

Logo Gradle

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