38 lines
1.8 KiB
PowerShell
38 lines
1.8 KiB
PowerShell
# 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 ..
|