SAE_DEV_JAVA/ScriptCompilationJar.ps1

38 lines
1.8 KiB
PowerShell
Raw Normal View History

# Script de Compilation pour PowerShell
# Définir le chemin de base du projet
$projectPath = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\src"
$outputDir = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\bin" # Dossier pour les fichiers .class
$resourcesPath = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\src\com\charpentierbalocchi\dorfjavatik\resources\"
$resourcesOutputDir = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\bin\com\charpentierbalocchi\dorfjavatik\resources\" # Dossier pour les ressources
$manifestPath = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\MANIFEST.MF"
$jarFile = "C:\Users\Loris\OneDrive - UPEC\Documents\DEV\SAE_DEV_JAVA\DorfJavaTik.jar"
$jdkBinPath = "C:\Program Files\Java\jdk-17\bin" # Remplacer par le chemin correct vers le dossier bin du JDK
# Créer le dossier de sortie s'il n'existe pas
if (-not (Test-Path $outputDir)) {
New-Item -Path $outputDir -ItemType Directory
}
# Naviguer au répertoire racine du projet
Set-Location $projectPath
# Compiler tous les fichiers Java en spécifiant le dossier de sortie pour les fichiers .class et en utilisant UTF-8 pour l'encodage
javac -d $outputDir -encoding UTF-8 (Get-ChildItem -Path $projectPath -Recurse -Filter *.java).FullName
# Copier les ressources dans le répertoire de sortie
if (-not (Test-Path $resourcesOutputDir)) {
New-Item -Path $resourcesOutputDir -ItemType Directory
}
Copy-Item -Path $resourcesPath* -Destination $resourcesOutputDir -Recurse -Force
# Créer le fichier JAR exécutable
Set-Location $outputDir
& "$jdkBinPath\jar.exe" cfm $jarFile $manifestPath -C $outputDir .
# Afficher un message de fin
Write-Host "Compilation terminée avec succès. Les fichiers .class et les ressources sont dans le dossier '$outputDir'."
Write-Host "Le fichier JAR exécutable a été créé : '$jarFile'."
cd ..