#!/bin/bash # Script bash pour tester la compilation du module unionflow-server-api # Auteur: UnionFlow Team # Version: 1.0 # Couleurs pour l'affichage RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' CYAN='\033[0;36m' NC='\033[0m' # No Color echo -e "${CYAN}========================================${NC}" echo -e "${CYAN}TEST DE COMPILATION UNIONFLOW-SERVER-API${NC}" echo -e "${CYAN}========================================${NC}" echo "" # Fonction pour exécuter une commande Maven et vérifier le résultat run_maven_command() { local command="$1" local description="$2" echo -e "${YELLOW}🔄 $description...${NC}" if mvn $command > /dev/null 2>&1; then echo -e "${GREEN}✅ $description - SUCCÈS${NC}" return 0 else echo -e "${RED}❌ $description - ÉCHEC${NC}" mvn $command return 1 fi } # Test 1: Nettoyage et compilation if ! run_maven_command "clean compile -q" "Nettoyage et compilation"; then echo -e "${RED}🛑 Arrêt du script - Erreur de compilation${NC}" exit 1 fi # Test 2: Compilation des tests if ! run_maven_command "test-compile -q" "Compilation des tests"; then echo -e "${RED}🛑 Arrêt du script - Erreur de compilation des tests${NC}" exit 1 fi # Test 3: Vérification Checkstyle echo -e "${YELLOW}🔄 Vérification Checkstyle...${NC}" if mvn checkstyle:check -q > /dev/null 2>&1; then echo -e "${GREEN}✅ Checkstyle - AUCUNE VIOLATION${NC}" else echo -e "${YELLOW}⚠️ Checkstyle - VIOLATIONS DÉTECTÉES${NC}" mvn checkstyle:check fi # Test 4: Exécution des tests if ! run_maven_command "test -q" "Exécution des tests"; then echo -e "${RED}🛑 Arrêt du script - Échec des tests${NC}" exit 1 fi # Test 5: Vérification de la couverture JaCoCo echo -e "${YELLOW}🔄 Vérification de la couverture JaCoCo...${NC}" if mvn jacoco:check -q > /dev/null 2>&1; then echo -e "${GREEN}✅ JaCoCo - COUVERTURE SUFFISANTE${NC}" else echo -e "${YELLOW}⚠️ JaCoCo - COUVERTURE INSUFFISANTE${NC}" mvn jacoco:check fi # Test 6: Installation complète if ! run_maven_command "clean install -q" "Installation complète"; then echo -e "${RED}🛑 Arrêt du script - Erreur d'installation${NC}" exit 1 fi echo "" echo -e "${CYAN}========================================${NC}" echo -e "${GREEN}🎉 SUCCÈS: Toutes les vérifications sont passées !${NC}" echo -e "${CYAN}========================================${NC}" echo "" echo -e "${CYAN}📊 Résumé des corrections appliquées:${NC}" echo -e "${GREEN} ✅ Correction des switch statements dans EvenementDTO et AideDTO${NC}" echo -e "${GREEN} ✅ Correction des types UUID et Long dans DemandeAideDTO${NC}" echo -e "${GREEN} ✅ Correction de la visibilité de marquerCommeModifie()${NC}" echo -e "${GREEN} ✅ Correction du type BigDecimal dans PropositionAideDTO${NC}" echo -e "${GREEN} ✅ Suppression des méthodes inexistantes dans AideDTOLegacy${NC}" echo "" echo -e "${GREEN}🚀 Le module unionflow-server-api est prêt pour la production !${NC}"