247 lines
9.9 KiB
PowerShell
247 lines
9.9 KiB
PowerShell
#!/usr/bin/env pwsh
|
|
# ============================================================================
|
|
# Lions User Manager - Script de nettoyage complet
|
|
# ============================================================================
|
|
# Ce script nettoie le projet selon les meilleures pratiques :
|
|
# 1. Supprime les fichiers parasites (crash JVM, test output, tokens)
|
|
# 2. Supprime les répertoires target Maven
|
|
# 3. Consolide la documentation dans docs/
|
|
# 4. Supprime les scripts dupliqués de la racine
|
|
# 5. Nettoie les répertoires Java vides
|
|
# 6. Supprime les répertoires squelettes vides
|
|
# ============================================================================
|
|
|
|
$ErrorActionPreference = "SilentlyContinue"
|
|
$root = $PSScriptRoot
|
|
|
|
Write-Host ""
|
|
Write-Host "======================================================" -ForegroundColor Cyan
|
|
Write-Host " Lions User Manager - Nettoyage Complet du Projet" -ForegroundColor Cyan
|
|
Write-Host "======================================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
|
|
# ============================================
|
|
# 1. Suppression des fichiers parasites
|
|
# ============================================
|
|
Write-Host "1. Suppression des fichiers parasites..." -ForegroundColor Yellow
|
|
|
|
$parasiteFiles = @(
|
|
# Racine
|
|
"$root\token.json",
|
|
"$root\token.txt",
|
|
"$root\clean-project.ps1",
|
|
|
|
# server-api
|
|
"$root\lions-user-manager-server-api\test_output.txt",
|
|
"$root\lions-user-manager-server-api\test_output_2.txt",
|
|
"$root\lions-user-manager-server-api\test_output_3.txt",
|
|
|
|
# server-impl
|
|
"$root\lions-user-manager-server-impl-quarkus\hs_err_pid29312.log",
|
|
"$root\lions-user-manager-server-impl-quarkus\hs_err_pid64388.log",
|
|
"$root\lions-user-manager-server-impl-quarkus\test_output.txt",
|
|
"$root\lions-user-manager-server-impl-quarkus\create_database.sql",
|
|
|
|
# client
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\hs_err_pid131240.log",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\hs_err_pid31092.log",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\hs_err_pid86240.log",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\replay_pid31092.log"
|
|
)
|
|
|
|
foreach ($file in $parasiteFiles) {
|
|
if (Test-Path $file) {
|
|
Remove-Item $file -Force
|
|
Write-Host " Supprime: $(Split-Path $file -Leaf)" -ForegroundColor Green
|
|
}
|
|
}
|
|
|
|
# ============================================
|
|
# 2. Suppression des répertoires target Maven
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "2. Suppression des répertoires target Maven..." -ForegroundColor Yellow
|
|
|
|
$targetDirs = @(
|
|
"$root\lions-user-manager-server-api\target",
|
|
"$root\lions-user-manager-server-impl-quarkus\target",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\target"
|
|
)
|
|
|
|
foreach ($dir in $targetDirs) {
|
|
if (Test-Path $dir) {
|
|
Remove-Item $dir -Recurse -Force
|
|
Write-Host " Supprime: $($dir.Replace($root, '.'))" -ForegroundColor Green
|
|
}
|
|
}
|
|
|
|
# Suppression du répertoire logs du serveur
|
|
$logsDir = "$root\lions-user-manager-server-impl-quarkus\logs"
|
|
if (Test-Path $logsDir) {
|
|
Remove-Item $logsDir -Recurse -Force
|
|
Write-Host " Supprime: .\lions-user-manager-server-impl-quarkus\logs" -ForegroundColor Green
|
|
}
|
|
|
|
# ============================================
|
|
# 3. Suppression des fichiers .md parasites à la racine
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "3. Suppression des fichiers .md parasites à la racine..." -ForegroundColor Yellow
|
|
|
|
# Fichiers .md à GARDER à la racine
|
|
$keepMd = @("README.md")
|
|
|
|
Get-ChildItem "$root\*.md" -File | Where-Object {
|
|
$keepMd -notcontains $_.Name
|
|
} | ForEach-Object {
|
|
Remove-Item $_.FullName -Force
|
|
Write-Host " Supprime: $($_.Name)" -ForegroundColor Green
|
|
}
|
|
|
|
# Suppression du fichier SUMMARY_VISUAL.txt
|
|
if (Test-Path "$root\SUMMARY_VISUAL.txt") {
|
|
Remove-Item "$root\SUMMARY_VISUAL.txt" -Force
|
|
Write-Host " Supprime: SUMMARY_VISUAL.txt" -ForegroundColor Green
|
|
}
|
|
|
|
# ============================================
|
|
# 4. Nettoyage des scripts dupliqués à la racine
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "4. Nettoyage des scripts dupliqués de la racine..." -ForegroundColor Yellow
|
|
|
|
# Scripts à supprimer de la racine (doublons ou ponctuels)
|
|
$rootScriptsToRemove = @(
|
|
"$root\configure-keycloak-frontend.sh",
|
|
"$root\configure-keycloak-test-user.ps1",
|
|
"$root\configure-keycloak-test-user.sh",
|
|
"$root\create-roles-and-assign.sh",
|
|
"$root\get-client-secret.sh",
|
|
"$root\integrate-freya-extension.ps1",
|
|
"$root\migrate-all-xhtml-to-freya.ps1",
|
|
"$root\setup-keycloak-client.ps1",
|
|
"$root\setup-keycloak-correct.sh",
|
|
"$root\setup-keycloak-simple.sh",
|
|
"$root\setup-keycloak.sh",
|
|
"$root\test-auth.sh",
|
|
"$root\test-keycloak-config.ps1",
|
|
"$root\test-keycloak-config.sh",
|
|
"$root\test-keycloak-token.ps1",
|
|
"$root\update-client-config.ps1",
|
|
"$root\verify-client-config.ps1"
|
|
)
|
|
|
|
foreach ($script in $rootScriptsToRemove) {
|
|
if (Test-Path $script) {
|
|
Remove-Item $script -Force
|
|
Write-Host " Supprime: $(Split-Path $script -Leaf)" -ForegroundColor Green
|
|
}
|
|
}
|
|
|
|
# ============================================
|
|
# 5. Suppression des répertoires vides
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "5. Suppression des répertoires vides..." -ForegroundColor Yellow
|
|
|
|
$emptyDirs = @(
|
|
# Répertoires squelettes vides
|
|
"$root\docs",
|
|
"$root\helm",
|
|
"$root\tests",
|
|
|
|
# Répertoires Java vides dans le client
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\src\main\java\dev\lions\user\manager\client\config",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\src\main\java\dev\lions\user\manager\client\dto",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\src\main\java\dev\lions\user\manager\client\exception",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\src\main\java\dev\lions\user\manager\client\security",
|
|
|
|
# Répertoires Java vides dans le serveur
|
|
"$root\lions-user-manager-server-impl-quarkus\src\main\java\dev\lions\user\manager\server\client",
|
|
"$root\lions-user-manager-server-impl-quarkus\src\main\java\dev\lions\user\manager\server\repository",
|
|
"$root\lions-user-manager-server-impl-quarkus\src\main\java\dev\lions\user\manager\server\resource",
|
|
"$root\lions-user-manager-server-impl-quarkus\src\main\java\dev\lions\user\manager\server\security",
|
|
"$root\lions-user-manager-server-impl-quarkus\src\main\java\dev\lions\user\manager\server\service"
|
|
)
|
|
|
|
foreach ($dir in $emptyDirs) {
|
|
if (Test-Path $dir) {
|
|
$children = Get-ChildItem $dir -Recurse -File
|
|
if ($null -eq $children -or $children.Count -eq 0) {
|
|
Remove-Item $dir -Recurse -Force
|
|
Write-Host " Supprime: $($dir.Replace($root, '.'))" -ForegroundColor Green
|
|
}
|
|
else {
|
|
Write-Host " GARDE (non vide): $($dir.Replace($root, '.'))" -ForegroundColor DarkYellow
|
|
}
|
|
}
|
|
}
|
|
|
|
# ============================================
|
|
# 6. Suppression des .git dans les sous-modules
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "6. Nettoyage des .git dans les sous-modules..." -ForegroundColor Yellow
|
|
|
|
$submoduleGits = @(
|
|
"$root\lions-user-manager-server-api\.git",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\.git",
|
|
"$root\lions-user-manager-server-impl-quarkus\.git"
|
|
)
|
|
|
|
foreach ($gitFile in $submoduleGits) {
|
|
if (Test-Path $gitFile -PathType Leaf) {
|
|
Remove-Item $gitFile -Force
|
|
Write-Host " Supprime sous-module .git: $(Split-Path (Split-Path $gitFile) -Leaf)" -ForegroundColor Green
|
|
}
|
|
elseif (Test-Path $gitFile -PathType Container) {
|
|
Remove-Item $gitFile -Recurse -Force
|
|
Write-Host " Supprime sous-module .git/: $(Split-Path (Split-Path $gitFile) -Leaf)" -ForegroundColor Green
|
|
}
|
|
}
|
|
|
|
# ============================================
|
|
# 7. Suppression des .gitignore redondants dans les sous-modules
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "7. Suppression des .gitignore redondants..." -ForegroundColor Yellow
|
|
|
|
$submoduleGitignores = @(
|
|
"$root\lions-user-manager-server-api\.gitignore",
|
|
"$root\lions-user-manager-server-impl-quarkus\.gitignore",
|
|
"$root\lions-user-manager-client-quarkus-primefaces-freya\.gitignore"
|
|
)
|
|
|
|
foreach ($gi in $submoduleGitignores) {
|
|
if (Test-Path $gi) {
|
|
Remove-Item $gi -Force
|
|
Write-Host " Supprime: $($gi.Replace($root, '.'))" -ForegroundColor Green
|
|
}
|
|
}
|
|
|
|
# ============================================
|
|
# Résumé
|
|
# ============================================
|
|
Write-Host ""
|
|
Write-Host "======================================================" -ForegroundColor Cyan
|
|
Write-Host " Nettoyage terminé !" -ForegroundColor Green
|
|
Write-Host "======================================================" -ForegroundColor Cyan
|
|
Write-Host ""
|
|
Write-Host "Structure finale attendue :" -ForegroundColor White
|
|
Write-Host " lions-user-manager/" -ForegroundColor White
|
|
Write-Host " ├── .git/" -ForegroundColor DarkGray
|
|
Write-Host " ├── .gitignore" -ForegroundColor DarkGray
|
|
Write-Host " ├── README.md" -ForegroundColor White
|
|
Write-Host " ├── pom.xml" -ForegroundColor White
|
|
Write-Host " ├── scripts/" -ForegroundColor Cyan
|
|
Write-Host " ├── restart-dev.ps1" -ForegroundColor White
|
|
Write-Host " ├── start-backend.bat" -ForegroundColor White
|
|
Write-Host " ├── start-client.bat" -ForegroundColor White
|
|
Write-Host " ├── Dockerfile.prod (dans chaque module)" -ForegroundColor White
|
|
Write-Host " ├── lions-user-manager-server-api/" -ForegroundColor Yellow
|
|
Write-Host " ├── lions-user-manager-server-impl-quarkus/" -ForegroundColor Yellow
|
|
Write-Host " └── lions-user-manager-client-quarkus-primefaces-freya/" -ForegroundColor Yellow
|
|
Write-Host ""
|
|
Write-Host "Prochaine étape : 'mvn clean compile' pour vérifier la compilation" -ForegroundColor Magenta
|
|
Write-Host ""
|