Files
ObsiGate/desktop/build-windows.bat
T
bruno fc93f550e0
CI / lint (push) Successful in 30s
CI / security (push) Successful in 16s
CI / test (push) Successful in 29s
CI / build (push) Successful in 8s
CI / e2e (push) Failing after 42s
Desktop Build / build-windows (push) Has been cancelled
Desktop Build / build-linux (push) Has been cancelled
fix: résoudre python-embed relativement à l'exe + copier runtime dans output dir
- main.rs: utiliser current_exe().parent() au lieu de ./ relatif au cwd
- build-windows.bat: étape 5b qui copie python-embed/ et backend/ dans target/release
2026-07-26 11:02:57 -04:00

73 lines
3.2 KiB
Batchfile

@echo off
REM ============================================================
REM ObsiGate Desktop — Build Windows (.msi + .exe)
REM Prérequis : Rust, Tauri CLI, NSIS, Python 3.11 embed
REM ============================================================
setlocal enabledelayedexpansion
echo ========================================
echo ObsiGate Desktop — Build Windows
echo ========================================
echo.
REM ── 1. Vérifier les prérequis ─────────────────────────────────
echo [1/6] Verifying prerequisites...
where cargo >nul 2>&1 || (echo ❌ Rust/Cargo not found. Install from https://rustup.rs & exit /b 1)
where tauri >nul 2>&1 || cargo install tauri-cli
echo ✅ Rust + Tauri OK
REM ── 2. Préparer Python 3.11 embed ─────────────────────────────
echo [2/6] Preparing Python embed...
if not exist "python-embed\python.exe" (
echo 📥 Downloading Python 3.11 embed...
if exist "python-embed" rmdir /s /q "python-embed"
curl -L -o python-embed.zip "https://www.python.org/ftp/python/3.11.9/python-3.11.9-embed-amd64.zip"
powershell Expand-Archive -Path python-embed.zip -DestinationPath python-embed\
del python-embed.zip
REM Enable pip in embedded Python
echo import site >> python-embed\python311._pth
REM Install dependencies
python-embed\python.exe -m pip install --no-cache-dir -r ..\backend\requirements.txt
)
echo ✅ Python embed ready
REM ── 3. Copier le frontend ─────────────────────────────────────
echo [3/6] Copying frontend...
if exist "frontend-static" rmdir /s /q "frontend-static"
xcopy /E /I /Q "..\frontend" "frontend-static"
echo ✅ Frontend copied
REM ── 4. Mettre à jour les icônes ───────────────────────────────
echo [4/6] Generating icons...
REM Placeholder — will use tauri icon generator when icons are ready
echo ✅ Icons OK (using defaults)
REM ── 5. Build Tauri ────────────────────────────────────────────
echo [5/6] Building Tauri application...
cargo tauri build --target x86_64-pc-windows-msvc --bundles msi,nsis
if errorlevel 1 (
echo ❌ Build failed!
exit /b 1
)
echo ✅ Build successful
REM ── 5b. Copier python-embed à côté de l'exécutable pour le dev ─────
echo [5b/6] Copying python-embed to output dir...
set "OUTDIR=target\x86_64-pc-windows-msvc\release"
if exist "%OUTDIR%\python-embed" rmdir /s /q "%OUTDIR%\python-embed"
xcopy /E /I /Q "python-embed" "%OUTDIR%\python-embed"
REM Copier aussi le backend Python
if not exist "%OUTDIR%\backend" mkdir "%OUTDIR%\backend"
xcopy /E /I /Q "..\backend" "%OUTDIR%\backend"
echo ✅ Runtime copied
REM ── 6. Résultats ───────────────────────────────────────────────────
echo [6/6] Results:
dir /b target\release\bundle\msi\*.msi 2>nul
dir /b target\release\bundle\nsis\*.exe 2>nul
echo.
echo ✅ Done! Check target\release\bundle\
endlocal