vitam-ui icon indicating copy to clipboard operation
vitam-ui copied to clipboard

Story #13346 clean code: Cleanup pom.xml (spring-starters, ...)

Open marob opened this issue 5 months ago • 0 comments

Description

Cette MR est une tentative (avortée par manque de temps) de nettoyage de la configuration des dépendances Maven concernant Spring Boot (principalement). Actuellement, de très nombreuses dépendances (et leurs versions) sont déclarées manuellement dans le pom parent, y compris les dépendances spring-boot-starter-*. Aussi, le pom parent n'a pas spring-boot-starter-parent en parent. Or, la bonne pratique dans un projet Spring Boot est d'avoir spring-boot-starter-parent en tant que parent pour bénéficier automatiquement des versions compatibles de toutes les dépendances Spring (et autres dépendances transitives).

Aujourd'hui, les versions sont incohérentes entre elles et certaines dépendances sont en plusieurs versions. La mise au propre comporte plusieurs risques :

  • les dépendances après nettoyage ne seront pas toutes dans la même version qu'actuellement (réalignement au standard)
  • les CAS étant un module ayant également comme parent le pom parent, et ses dépendances, bien que très différentes, étant en partie communes (mais dans des versions différentes), l'ajout du spring-boot-starter-parent en tant que parent risque d'impacter grandement le projet CAS. Une solution est de supprimer le parent du projet CAS (mais le garder en tant que module pour le builder avec le reste du projet) pour casser cet héritage de dépendance qui n'a pas vraiment de sens. Pour garder une mise en commun de certaines dépendances, on peut utiliser la notion de BOM.

Type de changement

Indiquer le ou les types de changements

  • Build
  • PKI
  • Ansiblerie
  • Nouveau Code
  • Correction
  • Refactorisation de code
  • Autre

Documentation

Indiquer la documentation mise à jour

  • [ ] Quels sont les nouvelles documentations ?
  • [ ] Quels sont les modifications existantes ?
  • [ ] Quels sont les documentations ou sections de documentations supprimés ?

Tests

Indiquer comment le code à été testé (manuel, environnement, TU, etc)

  • manuel
  • environnement
  • TU

Migration

Indiquer si les modifications apportées impliquent une migration sur l'existant et comment la faire

Checklist

Sélectionner les éléments de la checklist

  • [ ] Mon code suit le style de code de ce projet.
  • [ ] J'ai commenté mon code, en particulier dans les classes et les méthodes difficile à comprendre.
  • [ ] J'ai fait les changements correspondant dans la documentation RAML.
  • [ ] J'ai fait les changements correspondant dans la documentation Métier.
  • [ ] J'ai fait les changements correspondant dans la documentation Technique.
  • [ ] J'ai rajouté les tests unitaires vérifiant mes fonctionnalités.
  • [ ] J'ai rajouté les tests de non régression vérifiant mes fonctionnalités.
  • [ ] Les tests unitaires nouveaux et existants passent avec succès localement.
  • [ ] Toutes les dépendances ont été mergées en priorité

Contributeur

Indiquer qui a développé cette fonctionnalité

  • VAS (Vitam Accessible en Service)
  • CEA (Commissariat à l'énergie atomique et aux énergies alternatives)

marob avatar Sep 10 '24 12:09 marob