HoDA_Verifier/build.bat
2025-07-10 19:26:15 +02:00

50 lines
1.8 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
REM === PATH SETUP ===
set PARENT_DIR=%~dp0
set BUILD_DIR=%~dp0..
set ICON_PATH=data/assets/icon.ico
set CONFIG_FILE=%PARENT_DIR%\config.json
REM === Extract values from config.json ===
for /f "delims=" %%i in ('powershell -NoProfile -Command ^
"Get-Content '%CONFIG_FILE%' | ConvertFrom-Json | Select-Object -ExpandProperty python_version"') do set PYTHON_VERSION=%%i
for /f "delims=" %%i in ('powershell -NoProfile -Command ^
"Get-Content '%CONFIG_FILE%' | ConvertFrom-Json | Select-Object -ExpandProperty app_name"') do set APP_NAME=%%i
for /f "delims=" %%i in ('powershell -NoProfile -Command ^
"Get-Content '%CONFIG_FILE%' | ConvertFrom-Json | Select-Object -ExpandProperty architecture"') do set ARCHITECTURE=%%i
set VENV_PATH=%PARENT_DIR%\WINenv_%ARCHITECTURE%
set EXE_NAME=%APP_NAME%-Windows-%ARCHITECTURE%
set PYTHON_IN_VENV=%VENV_PATH%\Scripts\python.exe
REM === Construct full python path from config.json ===
set SYSTEM_PYTHON=C:\Logiciels\Python\%ARCHITECTURE%\%PYTHON_VERSION%\python.exe
REM === Verify Python existence ===
if not exist "%SYSTEM_PYTHON%" (
echo [ERROR] Python not found at: %SYSTEM_PYTHON%
exit /b 1
)
REM === Check if virtual environment exists ===
if not exist "%VENV_PATH%\Scripts\activate.bat" (
echo [INFO] Virtual environment not found. Creating...
"%SYSTEM_PYTHON%" -m venv "%VENV_PATH%"
"%PYTHON_IN_VENV%" -m pip install --upgrade pip
"%PYTHON_IN_VENV%" -m pip install -r "%PARENT_DIR%\requirements.txt"
) else (
echo [INFO] Virtual environment found.
)
REM === Run PyInstaller ===
"%PYTHON_IN_VENV%" -m PyInstaller ^
--distpath "%BUILD_DIR%\Build" ^
--workpath "%BUILD_DIR%\Building" ^
--clean ^
"%PARENT_DIR%\BUILD.spec"
REM === Clean build cache ===
rmdir /s /q "%BUILD_DIR%\Building"
endlocal