add windows build script
This commit is contained in:
parent
fb773ba948
commit
c581911f68
1 changed files with 77 additions and 0 deletions
77
build.bat
Normal file
77
build.bat
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
cd /d "%~dp0"
|
||||
|
||||
echo --- Disco-Reaper Windows Build Script ---
|
||||
|
||||
REM Check for venv
|
||||
IF NOT EXIST "venv" (
|
||||
echo Creating virtual environment...
|
||||
python -m venv venv
|
||||
IF ERRORLEVEL 1 (
|
||||
echo Error: Failed to create virtual environment.
|
||||
echo Ensure Python is installed and added to PATH.
|
||||
IF NOT DEFINED AUTO_BUILD pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
echo Activating virtual environment...
|
||||
call venv\Scripts\activate.bat
|
||||
|
||||
REM Self-healing pip check
|
||||
python -m pip --version >nul 2>&1
|
||||
IF ERRORLEVEL 1 (
|
||||
echo Warning: pip is missing or broken in venv. Attempting repair...
|
||||
python -m ensurepip --default-pip
|
||||
IF ERRORLEVEL 1 (
|
||||
echo Error: Failed to repair pip automatically.
|
||||
echo Try recreating the venv: rmdir /s /q venv ^&^& python -m venv venv
|
||||
IF NOT DEFINED AUTO_BUILD pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
echo Ensuring build dependencies are up to date...
|
||||
REM python -m pip install --upgrade pip --quiet
|
||||
python -m pip install pyinstaller --quiet
|
||||
python -m pip install -r requirements.txt --quiet
|
||||
|
||||
echo Cleaning previous build artifacts...
|
||||
IF EXIST "build" rmdir /s /q build
|
||||
IF EXIST "dist" rmdir /s /q dist
|
||||
|
||||
echo Starting PyInstaller build...
|
||||
REM Get git version tag
|
||||
set "GIT_VERSION=Unknown"
|
||||
for /f "tokens=*" %%i in ('git describe --tags --abbrev^=0 2^>nul') do set "GIT_VERSION=%%i"
|
||||
echo Baking version: %GIT_VERSION%
|
||||
echo __version__ = "%GIT_VERSION%"> src\core\_baked_version.py
|
||||
|
||||
python -m PyInstaller --clean disco-reaper.spec
|
||||
IF ERRORLEVEL 1 (
|
||||
echo Error: PyInstaller build failed.
|
||||
del /f src\core\_baked_version.py 2>nul
|
||||
IF NOT DEFINED AUTO_BUILD pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Cleaning up baked version file...
|
||||
del /f src\core\_baked_version.py 2>nul
|
||||
|
||||
echo Packaging release: disco-reaper-windows.zip...
|
||||
cd dist
|
||||
powershell -Command "Compress-Archive -Path 'DiscoReaper.exe' -DestinationPath 'disco-reaper-windows.zip' -Force" 2>nul
|
||||
IF ERRORLEVEL 1 (
|
||||
echo Warning: Failed to create zip. Files are available in dist\ directory.
|
||||
) ELSE (
|
||||
echo Package created: dist\disco-reaper-windows.zip
|
||||
)
|
||||
cd ..
|
||||
|
||||
echo -----------------------------------
|
||||
echo Build complete!
|
||||
echo Standalone executable: dist\DiscoReaper.exe
|
||||
echo Release Package: dist\disco-reaper-windows.zip
|
||||
echo ---
|
||||
IF NOT DEFINED AUTO_BUILD pause
|
||||
Loading…
Add table
Reference in a new issue