This commit is contained in:
+35
-30
@@ -1,54 +1,35 @@
|
||||
@echo off
|
||||
setlocal EnableExtensions
|
||||
chcp 65001 >nul
|
||||
cd /d "%~dp0"
|
||||
chcp 65001 >nul 2>&1
|
||||
|
||||
echo === md2gost: сборка exe ===
|
||||
echo Каталог: %CD%
|
||||
echo.
|
||||
|
||||
where python >nul 2>&1
|
||||
if errorlevel 1 (
|
||||
echo Python не найден в PATH. Установите Python 3.10+ и отметьте "Add python.exe to PATH".
|
||||
goto :fail
|
||||
)
|
||||
if errorlevel 1 goto :nopython
|
||||
|
||||
python -c "import sys; raise SystemExit(0 if sys.version_info >= (3, 10) else 1)"
|
||||
if errorlevel 1 (
|
||||
echo Нужен Python 3.10 или новее.
|
||||
python --version
|
||||
goto :fail
|
||||
)
|
||||
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 (
|
||||
echo Не удалось поставить зависимости.
|
||||
goto :fail
|
||||
)
|
||||
if errorlevel 1 goto :pipfail
|
||||
|
||||
if not exist "md2gost\Template.docx" (
|
||||
echo Нет md2gost\Template.docx — сборка бессмысленна.
|
||||
goto :fail
|
||||
)
|
||||
if not exist "md2gost\Template.docx" goto :notemplate
|
||||
|
||||
echo [2/4] PlantUML jar (вшивается в exe, если скачается^) ...
|
||||
echo [2/4] PlantUML jar, вшивается в exe если скачается ...
|
||||
python scripts\fetch_plantuml.py
|
||||
if not exist "md2gost\vendor\plantuml.jar" (
|
||||
echo Предупреждение: plantuml.jar нет — в exe диаграммы пойдут через kroki.io.
|
||||
)
|
||||
|
||||
echo [3/4] PyInstaller (один файл, без консоли; CLI подцепит консоль сам^) ...
|
||||
echo [3/4] PyInstaller, один файл, без консоли; CLI подцепит консоль сам ...
|
||||
python -m PyInstaller --noconfirm --clean md2gost.spec
|
||||
if errorlevel 1 (
|
||||
echo PyInstaller завершился с ошибкой.
|
||||
goto :fail
|
||||
)
|
||||
if errorlevel 1 goto :pyifail
|
||||
|
||||
if not exist "dist\md2gost.exe" (
|
||||
echo dist\md2gost.exe не появился.
|
||||
goto :fail
|
||||
)
|
||||
if not exist "dist\md2gost.exe" goto :noexe
|
||||
|
||||
echo.
|
||||
echo [4/4] Готово:
|
||||
@@ -56,11 +37,35 @@ 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 Сборка не удалась.
|
||||
|
||||
Reference in New Issue
Block a user