This commit is contained in:
Eric Ratliff
2026-02-18 20:15:46 -06:00
parent 833ea44748
commit 60ba7c7bed
11 changed files with 559 additions and 81 deletions

View File

@@ -19,23 +19,21 @@ if not exist "%CONFIG%" (
)
:: -- Parse .anvil.toml ----------------------------------------------------
for /f "tokens=1,* delims==" %%a in ('findstr /b "name " "%CONFIG%"') do (
set "SKETCH_NAME=%%b"
:: Read file directly, skip comments and section headers
for /f "usebackq tokens=1,* delims==" %%a in ("%CONFIG%") do (
set "_K=%%a"
if not "!_K:~0,1!"=="#" if not "!_K:~0,1!"=="[" (
set "_K=!_K: =!"
set "_V=%%b"
if defined _V (
set "_V=!_V: =!"
set "_V=!_V:"=!"
)
if "!_K!"=="name" set "SKETCH_NAME=!_V!"
if "!_K!"=="fqbn" set "FQBN=!_V!"
if "!_K!"=="warnings" set "WARNINGS=!_V!"
)
)
for /f "tokens=1,* delims==" %%a in ('findstr /b "fqbn " "%CONFIG%"') do (
set "FQBN=%%b"
)
for /f "tokens=1,* delims==" %%a in ('findstr /b "warnings " "%CONFIG%"') do (
set "WARNINGS=%%b"
)
:: Strip quotes and whitespace
set "SKETCH_NAME=%SKETCH_NAME: =%"
set "SKETCH_NAME=%SKETCH_NAME:"=%"
set "FQBN=%FQBN: =%"
set "FQBN=%FQBN:"=%"
set "WARNINGS=%WARNINGS: =%"
set "WARNINGS=%WARNINGS:"=%"
if "%SKETCH_NAME%"=="" (
echo FAIL: Could not read project name from .anvil.toml
@@ -102,19 +100,7 @@ echo.
if not exist "%BUILD_DIR%" mkdir "%BUILD_DIR%"
set "COMPILE_CMD=arduino-cli compile --fqbn %FQBN% --build-path "%BUILD_DIR%" --warnings %WARNINGS%"
if not "%BUILD_FLAGS%"=="" (
set "COMPILE_CMD=%COMPILE_CMD% --build-property "build.extra_flags=%BUILD_FLAGS%""
)
if not "%VERBOSE%"=="" (
set "COMPILE_CMD=%COMPILE_CMD% %VERBOSE%"
)
set "COMPILE_CMD=%COMPILE_CMD% "%SKETCH_DIR%""
%COMPILE_CMD%
arduino-cli compile --fqbn %FQBN% --build-path "%BUILD_DIR%" --warnings %WARNINGS% --build-property "build.extra_flags=%BUILD_FLAGS%" %VERBOSE% "%SKETCH_DIR%"
if errorlevel 1 (
echo.
echo FAIL: Compilation failed.
@@ -123,4 +109,4 @@ if errorlevel 1 (
echo.
echo ok Compile succeeded.
echo.
echo.