@echo off REM Local build-only test script for Windows. REM Compiles the project WITHOUT uploading to any device. REM Usage: scripts\build.cmd setlocal cd /d "%~dp0\.." set VENV_DIR=.venv-platformio REM Prefer the "py" launcher (ships with official Python installer) which REM reliably picks Python 3, even if "python" on PATH points to an old REM Python 2.x install. where py >nul 2>nul if %errorlevel%==0 ( set PYTHON_CMD=py -3 ) else ( set PYTHON_CMD=python ) if not exist "%VENV_DIR%" ( echo Creating local virtualenv in %VENV_DIR% using: %PYTHON_CMD% %PYTHON_CMD% -m venv "%VENV_DIR%" if not exist "%VENV_DIR%\Scripts\python.exe" ( echo. echo ERROR: Could not create a Python 3 virtualenv. echo Make sure Python 3 is installed from https://www.python.org/downloads/ echo and that "py -3 --version" or "python --version" reports Python 3.x echo ^(your "python" currently points to: %PYTHON_CMD%^) exit /b 1 ) "%VENV_DIR%\Scripts\python.exe" -m pip install --upgrade pip "%VENV_DIR%\Scripts\pip.exe" install platformio ) echo Running build (no upload) ... "%VENV_DIR%\Scripts\pio.exe" run if errorlevel 1 ( echo Build FAILED. exit /b 1 ) echo Build finished successfully. endlocal