换位置

This commit is contained in:
lwt
2026-06-09 14:01:20 +08:00
parent 6d86678e11
commit 0b34f2e3d0
53 changed files with 1762 additions and 603 deletions
+15 -14
View File
@@ -7,6 +7,7 @@ title Server Manager - build
for %%I in ("%~dp0..\..") do set "ROOT=%%~fI"
set "SRC=%ROOT%\src"
set "RESOURCE_CONFIG=%ROOT%\resources\config"
set "APP_NAME=ServerManager"
pushd "%SRC%" || (
echo [ERROR] src directory not found: %SRC%
exit /b 1
@@ -55,32 +56,32 @@ echo [3/6] clean dist\build...
if exist "dist" rd /s /q dist
if exist "build" rd /s /q build
if exist "*.spec" del /q *.spec 2>nul
REM Pre-create work dir for PyInstaller warn-main.txt on some Windows setups
if not exist "build\main" mkdir "build\main"
REM Pre-create work dir for PyInstaller warn file on some Windows setups
if not exist "build\%APP_NAME%" mkdir "build\%APP_NAME%"
echo [4/6] PyInstaller main (onedir)...
echo [4/6] PyInstaller %APP_NAME% (onedir)...
REM Single line: no ^ line-continuation (avoids trailing-space / encoding breakage)
pyinstaller --noconfirm --onedir --console --name main !ICON_PARAM! --add-data "%ROOT%\resources\version.json;." --add-data "%ROOT%\resources\config.json;." --add-data "%ROOT%\resources\icon;icon" --hidden-import PyQt6.QtWidgets --hidden-import PyQt6.QtCore --hidden-import PyQt6.QtGui --hidden-import pymysql --hidden-import entrypoints.cli.main --hidden-import entrypoints.cli.extended --hidden-import entrypoints.gui.bootstrap --hidden-import mcp.server --hidden-import mcp.tools --hidden-import models.app_config --hidden-import services.commands --hidden-import services.server_creator --hidden-import services.hot_update --hidden-import services.rg_search --hidden-import bsdiff4 --collect-all PyQt6 --collect-all bsdiff4 --hidden-import requests entrypoints\main.py
pyinstaller --noconfirm --onedir --console --name %APP_NAME% !ICON_PARAM! --add-data "%ROOT%\resources\version.json;." --add-data "%ROOT%\resources\config.json;." --add-data "%ROOT%\resources\icon;icon" --hidden-import PyQt6.QtWidgets --hidden-import PyQt6.QtCore --hidden-import PyQt6.QtGui --hidden-import pymysql --hidden-import entrypoints.cli.main --hidden-import entrypoints.cli.extended --hidden-import entrypoints.gui.bootstrap --hidden-import mcp.server --hidden-import mcp.tools --hidden-import models.app_config --hidden-import services.commands --hidden-import services.server_creator --hidden-import services.hot_update --hidden-import services.rg_search --hidden-import bsdiff4 --collect-all PyQt6 --collect-all bsdiff4 --hidden-import requests entrypoints\main.py
if errorlevel 1 (
echo [ERROR] main PyInstaller failed
echo [ERROR] %APP_NAME% PyInstaller failed
pause
exit /b 1
)
echo [4b/6] copy rg.exe...
if exist "%ROOT%\resources\bin\rg.exe" (
copy /y "%ROOT%\resources\bin\rg.exe" "dist\main\rg.exe" >nul
echo copied resources\bin\rg.exe to dist\main\rg.exe
copy /y "%ROOT%\resources\bin\rg.exe" "dist\%APP_NAME%\rg.exe" >nul
echo copied resources\bin\rg.exe to dist\%APP_NAME%\rg.exe
) else (
echo [WARN] resources\bin\rg.exe missing, search will not use ripgrep
)
echo [4c/6] copy resources\config templates to dist\main\config ^(same as installer {app}\config^)...
echo [4c/6] copy resources\config templates to dist\%APP_NAME%\config ^(same as installer {app}\config^)...
if exist "%RESOURCE_CONFIG%" (
if not exist "dist\main\config" mkdir "dist\main\config"
xcopy "%RESOURCE_CONFIG%\*" "dist\main\config\" /E /I /Y /Q >nul
echo copied ..\resources\config to dist\main\config
if not exist "dist\%APP_NAME%\config" mkdir "dist\%APP_NAME%\config"
xcopy "%RESOURCE_CONFIG%\*" "dist\%APP_NAME%\config\" /E /I /Y /Q >nul
echo copied ..\resources\config to dist\%APP_NAME%\config
) else (
echo [WARN] ..\resources\config missing, Inno install will fail if resources\config is absent at compile time
)
@@ -96,8 +97,8 @@ if errorlevel 1 (
echo [6/6] done.
if not exist "dist\main\config" mkdir "dist\main\config"
if exist "config\tool.config" copy /y "config\tool.config" "dist\main\config\tool.config" >nul
if not exist "dist\%APP_NAME%\config" mkdir "dist\%APP_NAME%\config"
if exist "config\user.config" copy /y "config\user.config" "dist\%APP_NAME%\config\user.config" >nul
rd /s /q build 2>nul
rd /s /q build_mini 2>nul
@@ -106,7 +107,7 @@ del /q build_mini\*.spec 2>nul
echo.
echo ============================================================
echo OK: dist\main\ dist\mini_updater.exe
echo OK: dist\%APP_NAME%\ dist\mini_updater.exe
echo ============================================================
echo.