FIX: tạo 2 file giúp build trên Windows

This commit is contained in:
2026-08-08 09:16:27 +07:00
parent fc24b08505
commit 6edf526d27
3 changed files with 95 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
@echo off
REM ── SonicForge DAW — Windows build script (Dual-Process: daw_engine.exe + Tauri shell) ──
REM Chạy bằng "cmd" (Run as Administrator nếu cần cài Rust/system-wide)
setlocal enabledelayedexpansion
cd /d "%~dp0"
echo [1/6] Kiem tra Python + Node...
python --version || (echo THIEU Python 3.11+ — cai tu python.org (tick "Add to PATH") && pause && exit /b 1)
node --version || (echo THIEU Node 20+ — cai tu nodejs.org && pause && exit /b 1)
echo [2/6] Kiem tra / cai Rust toolchain (MSVC)...
where cargo >nul 2>nul
if errorlevel 1 (
echo Cai Rust qua rustup (MSVC toolchain — can Visual Studio Build Tools/C++ workload)...
powershell -Command "Invoke-WebRequest https://win.rustup.rs/x86_64 -OutFile rustup-init.exe"
rustup-init.exe -y --default-toolchain stable --profile minimal
del rustup-init.exe
call "%USERPROFILE%\.cargo\env" 2>nul || set "PATH=%USERPROFILE%\.cargo\bin;%PATH%"
)
cargo --version || (echo Rust cai that bai — cai Visual Studio Build Tools (C++ workload) roi thu lai && pause && exit /b 1)
echo [3/6] Cai Python deps (PyInstaller + backend)...
pip install pyinstaller pywin32
pip install -r requirements.txt
pip install --no-deps pedalboard>=0.8.0
echo [4/6] Precompile JS (Babel)...
npm install --no-audit --no-fund >nul 2>nul
node node_modules/@babel/cli/bin/babel.js app/static/js/app.jsx --config-file ./babel.config.json -o app/static/js/app.precompiled.js || exit /b 1
echo [5/6] Build daw_engine.exe (PyInstaller)...
pyinstaller engine.spec --clean --noconfirm || exit /b 1
if not exist "src-tauri\binaries" mkdir "src-tauri\binaries"
copy /y dist\daw_engine.exe "src-tauri\binaries\daw_engine-x86_64-pc-windows-msvc.exe" >nul
echo [6/6] Build Tauri installer (NSIS + MSI)...
npm install -D @tauri-apps/cli@^2 >nul 2>nul
call npx tauri build
echo.
echo HOAN TAT — Installer:
echo src-tauri\target\release\bundle\nsis\SonicForgeDAW_1.0.0_x64-setup.exe
echo src-tauri\target\release\bundle\msi\SonicForgeDAW_1.0.0_x64_en-US.msi
pause