@echo off setlocal set TARGET=%1 if "%TARGET%"=="" set TARGET=help if "%TARGET%"=="tui" goto build_tui if "%TARGET%"=="gui" goto build_gui if "%TARGET%"=="all" goto build_all if "%TARGET%"=="help" goto show_help :show_help echo Использование: build.bat {tui^|gui^|all} echo. echo tui - Собрать автономный консольный TUI (diagd.exe) echo gui - Собрать графический интерфейс Flutter Desktop (Windows) echo all - Собрать оба варианта exit /b 0 :build_tui echo ==^> Сборка автономного консольного TUI под Windows... cargo build --release -p rust_lib_diagd --no-default-features --features tui --bin diagd if %ERRORLEVEL% equ 0 ( echo [OK] Успешно собрано: target\release\diagd.exe ) else ( echo [ERROR] Ошибка сборки TUI exit /b %ERRORLEVEL% ) exit /b 0 :build_gui echo ==^> Сборка графического GUI (Flutter Desktop Windows)... flutter build windows --release if %ERRORLEVEL% equ 0 ( echo [OK] Успешно собрано: build\windows\x64\runner\Release\diagd.exe ) else ( echo [ERROR] Ошибка сборки GUI exit /b %ERRORLEVEL% ) exit /b 0 :build_all call :build_tui if %ERRORLEVEL% neq 0 exit /b %ERRORLEVEL% call :build_gui if %ERRORLEVEL% neq 0 exit /b %ERRORLEVEL% echo [OK] Все компоненты успешно собраны! exit /b 0