Files
md_to_gost/build-exe.bat
T
Igor20264 1a5b35eb54
Python application / build (push) Has been cancelled
BigUpdate 0.5.0
- add Local Render Mermaid
- add page-starе для указания смещения страниц
- add Гиперссылки в документе на списки литературы
2026-09-07 09:54:33 +03:00

80 lines
2.1 KiB
Batchfile

@echo off
setlocal EnableExtensions
cd /d "%~dp0"
chcp 65001 >nul 2>&1
echo === md2gost: сборка exe ===
echo Каталог: %CD%
echo.
where python >nul 2>&1
if errorlevel 1 goto :nopython
python -c "import sys; raise SystemExit(sys.hexversion < 0x030A0000)"
if errorlevel 1 goto :oldpython
echo [1/4] Зависимости проекта + PyInstaller + matplotlib ...
python -m pip install -q -e . "pyinstaller>=6.0" "matplotlib>=3.7"
if errorlevel 1 goto :pipfail
if not exist "md2gost\Template.docx" goto :notemplate
echo [2/4] PlantUML jar + Mermaid assets ...
python scripts\fetch_plantuml.py
if not exist "md2gost\vendor\plantuml.jar" (
echo Предупреждение: plantuml.jar нет — в exe UML пойдёт через kroki.io.
)
if not exist "md2gost\diagrams\mermaid.min.js" (
python scripts\fetch_mermaid.py
)
if not exist "md2gost\diagrams\mermaid.min.js" (
echo Предупреждение: mermaid.min.js нет — браузерный Mermaid в exe без assets.
)
echo [3/4] PyInstaller, один файл, без консоли; CLI подцепит консоль сам ...
python -m PyInstaller --noconfirm --clean md2gost.spec
if errorlevel 1 goto :pyifail
if not exist "dist\md2gost.exe" goto :noexe
echo.
echo [4/4] Готово:
echo %CD%\dist\md2gost.exe
echo.
echo Двойной клик — GUI. Из консоли: md2gost.exe report.md -o report.docx
echo.
if /i "%~1"=="nopause" goto :eof
pause
exit /b 0
:nopython
echo Python не найден в PATH. Установите Python 3.10+ и отметьте "Add python.exe to PATH".
goto :fail
:oldpython
echo Нужен Python 3.10 или новее.
python --version
goto :fail
:pipfail
echo Не удалось поставить зависимости.
goto :fail
:notemplate
echo Нет md2gost\Template.docx — сборка бессмысленна.
goto :fail
:pyifail
echo PyInstaller завершился с ошибкой.
goto :fail
:noexe
echo dist\md2gost.exe не появился.
goto :fail
:fail
echo.
echo Сборка не удалась.
if /i not "%~1"=="nopause" pause
exit /b 1