From 5700a5f886a1120276f6858c0f7cffe84f59429b Mon Sep 17 00:00:00 2001 From: Sak32009 Date: Sun, 25 Aug 2024 11:30:19 +0200 Subject: [PATCH] improved build_win_premake.bat, package_win.bat, rebuild_win.bat and recreate_venv_win.bat and and fixed a sign_helper error that didn't find the input file --- build_win_premake.bat | 31 ++-- package_win.bat | 40 +++-- tools/generate_emu_config/package_win.bat | 100 ++++++------ tools/generate_emu_config/rebuild_win.bat | 145 +++++++++--------- .../generate_emu_config/recreate_venv_win.bat | 48 +++--- tools/migrate_gse/package_win.bat | 100 ++++++------ tools/migrate_gse/rebuild_win.bat | 104 ++++++------- tools/migrate_gse/recreate_venv_win.bat | 48 +++--- 8 files changed, 316 insertions(+), 300 deletions(-) diff --git a/build_win_premake.bat b/build_win_premake.bat index 68d07f7c..a9954be9 100644 --- a/build_win_premake.bat +++ b/build_win_premake.bat @@ -21,7 +21,7 @@ set /a "BUILD_DEPS=0" ) else if "%~1" equ "--help" ( goto :help_page ) else ( - 1>&2 echo: invalid arg %~1 + 1>&2 echo:invalid arg %~1 goto :end_script_with_err ) @@ -32,15 +32,14 @@ set /a "BUILD_DEPS=0" :: check premake set "PREMAKE_EXE=third-party\common\win\premake\premake5.exe" if not exist "%PREMAKE_EXE%" ( - 1>&2 echo: premake wasn't found + 1>&2 echo:premake wasn't found goto :end_script_with_err ) :: build deps if %BUILD_DEPS% equ 1 ( set "CMAKE_GENERATOR=Visual Studio 17 2022" - call "%PREMAKE_EXE%" --file="premake5-deps.lua" --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=windows vs2022 - if !errorlevel! neq 0 ( + call "%PREMAKE_EXE%" --file="premake5-deps.lua" --64-build --32-build --all-ext --all-build --j=2 --verbose --clean --os=windows vs2022 || ( goto :end_script_with_err ) goto :end_script @@ -49,7 +48,7 @@ set /a "BUILD_DEPS=0" :: check vswhere set "VSWHERE_EXE=third-party\common\win\vswhere\vswhere.exe" if not exist "%VSWHERE_EXE%" ( - 1>&2 echo: vswhere wasn't found + 1>&2 echo:vswhere wasn't found goto :end_script_with_err ) @@ -59,20 +58,19 @@ set /a "BUILD_DEPS=0" set "MSBUILD_EXE=%%~A\MSBuild\Current\Bin\MSBuild.exe" ) if not exist "%MSBUILD_EXE%" ( - 1>&2 echo: MSBuild wasn't found + 1>&2 echo:MSBuild wasn't found goto :end_script_with_err ) :: create .sln - call "%PREMAKE_EXE%" --file="premake5.lua" --genproto --dosstub --winrsrc --winsign --os=windows vs2022 - if %errorlevel% neq 0 ( + call "%PREMAKE_EXE%" --file="premake5.lua" --genproto --dosstub --winrsrc --winsign --os=windows vs2022 || ( goto :end_script_with_err ) :: check .sln set "SLN_FILE=build\project\vs2022\win\gbe.sln" if not exist "%SLN_FILE%" ( - 1>&2 echo: .sln file wasn't found + 1>&2 echo:.sln file wasn't found goto :end_script_with_err ) @@ -87,9 +85,8 @@ set /a "BUILD_DEPS=0" set "BUILD_PLATFORM=%%B" for %%C in (%BUILD_TARGETS%) do ( set "BUILD_TARGET=%%C" - echo. & echo: building !BUILD_TARGET! !BUILD_TYPE! !BUILD_PLATFORM! - call "%MSBUILD_EXE%" /nologo -m:%MAX_THREADS% -v:n /p:Configuration=!BUILD_TYPE!,Platform=!BUILD_PLATFORM! /target:!BUILD_TARGET! "%SLN_FILE%" - if !errorlevel! neq 0 ( + echo. & echo:building !BUILD_TARGET! !BUILD_TYPE! !BUILD_PLATFORM! + call "%MSBUILD_EXE%" /nologo -m:%MAX_THREADS% -v:n /p:Configuration=!BUILD_TYPE!,Platform=!BUILD_PLATFORM! /target:!BUILD_TARGET! "%SLN_FILE%" || ( goto :end_script_with_err ) ) @@ -98,20 +95,18 @@ set /a "BUILD_DEPS=0" goto :end_script -:: exit without error :end_script endlocal exit /b 0 -:: exit with error :end_script_with_err endlocal exit /b 1 :: show help page :help_page - echo: "%~nx0" [switches] - echo: switches: - echo: --deps: rebuild third-party dependencies - echo: --help: show this page + echo:"%~nx0" [switches] + echo:switches: + echo: --deps: rebuild third-party dependencies + echo: --help: show this page goto :end_script diff --git a/package_win.bat b/package_win.bat index 5e86da4b..0efea6e8 100644 --- a/package_win.bat +++ b/package_win.bat @@ -11,17 +11,18 @@ if defined NUMBER_OF_PROCESSORS ( ) ) -set "BUILD_DIR=build\win" -set "OUT_DIR=build\package\win" +set "ROOT=%cd%" +set "BUILD_DIR=%ROOT%\build\win" +set "OUT_DIR=%ROOT%\build\package\win" if "%~1" equ "" ( - 1>&2 echo: missing build target folder arg + 1>&2 echo:missing build target folder arg goto :end_script_with_err ) set "TARGET_DIR=%BUILD_DIR%\%~1" if not exist "%TARGET_DIR%\" ( - 1>&2 echo: build target folder wasn't found + 1>&2 echo:build target folder wasn't found goto :end_script_with_err ) @@ -34,39 +35,39 @@ set /a "PKG_EXE_MEM_PERCENT=90" set /a "PKG_EXE_DICT_SIZE_MB=384" set "PKG_EXE=third-party\deps\win\7za\7za.exe" if not exist "%PKG_EXE%" ( - 1>&2 echo: packager wasn't found + 1>&2 echo:packager wasn't found goto :end_script_with_err ) :::::::::::::::::::::::::::::::::::::::::: -echo: // copying readmes + example files +echo:// copying readmes + example files -xcopy /y /s /e /r "post_build\steam_settings.EXAMPLE\" "%TARGET_DIR%\steam_settings.EXAMPLE\" +xcopy /y /s /e /r "%ROOT%\post_build\steam_settings.EXAMPLE\" "%TARGET_DIR%\steam_settings.EXAMPLE\" -copy /y "post_build\README.release.md" "%TARGET_DIR%\" -copy /y "CHANGELOG.md" "%TARGET_DIR%\" -copy /y "CREDITS.md" "%TARGET_DIR%\" +copy /y "%ROOT%\post_build\README.release.md" "%TARGET_DIR%\" +copy /y "%ROOT%\CHANGELOG.md" "%TARGET_DIR%\" +copy /y "%ROOT%\CREDITS.md" "%TARGET_DIR%\" if %BUILD_DEBUG% equ 1 ( - copy /y "post_build\README.debug.md" "%TARGET_DIR%\" + copy /y "%ROOT%\post_build\README.debug.md" "%TARGET_DIR%\" ) if exist "%TARGET_DIR%\experimental\" ( - copy /y "post_build\README.experimental.md" "%TARGET_DIR%\experimental\" + copy /y "%ROOT%\post_build\README.experimental.md" "%TARGET_DIR%\experimental\" ) if exist "%TARGET_DIR%\steamclient_experimental\" ( - xcopy /y /s /e /r "post_build\win\ColdClientLoader.EXAMPLE\" "%TARGET_DIR%\steamclient_experimental\dll_injection.EXAMPLE\" - copy /y "post_build\README.experimental_steamclient.md" "%TARGET_DIR%\steamclient_experimental\" - copy /y "tools\steamclient_loader\win\ColdClientLoader.ini" "%TARGET_DIR%\steamclient_experimental\" + xcopy /y /s /e /r "%ROOT%\post_build\win\ColdClientLoader.EXAMPLE\" "%TARGET_DIR%\steamclient_experimental\dll_injection.EXAMPLE\" + copy /y "%ROOT%\post_build\README.experimental_steamclient.md" "%TARGET_DIR%\steamclient_experimental\" + copy /y "%ROOT%\tools\steamclient_loader\win\ColdClientLoader.ini" "%TARGET_DIR%\steamclient_experimental\" ) if exist "%TARGET_DIR%\tools\generate_interfaces\" ( - copy /y "post_build\README.generate_interfaces.md" "%TARGET_DIR%\tools\generate_interfaces\" + copy /y "%ROOT%\post_build\README.generate_interfaces.md" "%TARGET_DIR%\tools\generate_interfaces\" ) if exist "%TARGET_DIR%\tools\lobby_connect\" ( - copy /y "post_build\README.lobby_connect.md" "%TARGET_DIR%\tools\lobby_connect\" + copy /y "%ROOT%\post_build\README.lobby_connect.md" "%TARGET_DIR%\tools\lobby_connect\" ) :::::::::::::::::::::::::::::::::::::::::: @@ -88,19 +89,16 @@ if exist "%ACHIVE_FILE%" ( del /f /s /q "%ACHIVE_FILE%" ) -call "%PKG_EXE%" a "%ACHIVE_FILE%" ".\%TARGET_DIR%" -t7z -xr^^!*.lib -xr^^!*.exp -slp -ssw -mx -myx -mmemuse=p%PKG_EXE_MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%PKG_EXE_DICT_SIZE_MB%m -mmt=%MAX_THREADS% -mmtf+ -mtm- -mtc- -mta- -mtr+ -if %errorlevel% neq 0 ( +call "%PKG_EXE%" a "%ACHIVE_FILE%" "%TARGET_DIR%" -t7z -xr^^!*.lib -xr^^!*.exp -slp -ssw -mx -myx -mmemuse=p%PKG_EXE_MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%PKG_EXE_DICT_SIZE_MB%m -mmt=%MAX_THREADS% -mmtf+ -mtm- -mtc- -mta- -mtr+ || ( goto :end_script_with_err ) goto :end_script -:: exit without error :end_script endlocal exit /b 0 -:: exit with error :end_script_with_err endlocal exit /b 1 diff --git a/tools/generate_emu_config/package_win.bat b/tools/generate_emu_config/package_win.bat index 17b88e83..18fcb2ab 100644 --- a/tools/generate_emu_config/package_win.bat +++ b/tools/generate_emu_config/package_win.bat @@ -1,48 +1,52 @@ -@echo off - -setlocal -pushd "%~dp0" - -set /a last_code=0 - -set "build_dir=bin\win" -set "out_dir=bin\package\win" - -set /a MEM_PERCENT=90 -set /a DICT_SIZE_MB=384 -set "packager=..\..\third-party\deps\win\7za\7za.exe" - -:: use 70% -if defined NUMBER_OF_PROCESSORS ( - set /a THREAD_COUNT=NUMBER_OF_PROCESSORS*70/100 -) else ( - set /a THREAD_COUNT=2 -) - -if not exist "%packager%" ( - 1>&2 echo "[X] packager app wasn't found" - set /a last_code=1 - goto :script_end -) - -if not exist "%build_dir%" ( - 1>&2 echo "[X] build folder wasn't found" - set /a last_code=1 - goto :script_end -) - -mkdir "%out_dir%" - -set "archive_file=%out_dir%\generate_emu_config-win.7z" -if exist "%archive_file%" ( - del /f /q "%archive_file%" -) - -"%packager%" a "%archive_file%" ".\%build_dir%\*" -t7z -slp -ssw -mx -myx -mmemuse=p%MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%DICT_SIZE_MB%m -mmt=%THREAD_COUNT% -mmtf+ -mtm- -mtc- -mta- -mtr+ - - -:script_end -popd -endlocal & ( - exit /b %last_code% -) +@echo off +setlocal EnableDelayedExpansion +cd /d "%~dp0" + +set /a "MAX_THREADS=2" +if defined NUMBER_OF_PROCESSORS ( + :: use 70% + set /a "MAX_THREADS=%NUMBER_OF_PROCESSORS% * 70 / 100" + if %MAX_THREADS% lss 1 ( + set /a "MAX_THREADS=1" + ) +) + +set "ROOT=%cd%" +set "BUILD_DIR=%ROOT%\bin\win" +set "OUT_DIR=%ROOT%\bin\package\win" + +set /a "PKG_EXE_MEM_PERCENT=90" +set /a "PKG_EXE_DICT_SIZE_MB=384" +set "PKG_EXE=..\..\third-party\deps\win\7za\7za.exe" +if not exist "%PKG_EXE%" ( + 1>&2 echo:packager wasn't found + goto :end_script_with_err +) + +if not exist "%BUILD_DIR%" ( + 1>&2 echo:build folder wasn't found + goto :end_script_with_err +) + +if not exist "%OUT_DIR%" ( + mkdir "%OUT_DIR%" +) + +set "ACHIVE_FILE=%OUT_DIR%\generate_emu_config-win.7z" +if exist "%ACHIVE_FILE%" ( + del /f /s /q "%ACHIVE_FILE%" +) + +call "%PKG_EXE%" a "%ACHIVE_FILE%" "%BUILD_DIR%\*" -t7z -slp -ssw -mx -myx -mmemuse=p%PKG_EXE_MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%PKG_EXE_DICT_SIZE_MB%m -mmt=%MAX_THREADS% -mmtf+ -mtm- -mtc- -mta- -mtr+ || ( + goto :end_script_with_err +) + +goto :end_script + +:end_script + endlocal + exit /b 0 + +:end_script_with_err + endlocal + exit /b 1 diff --git a/tools/generate_emu_config/rebuild_win.bat b/tools/generate_emu_config/rebuild_win.bat index 769c5e65..e63a0251 100644 --- a/tools/generate_emu_config/rebuild_win.bat +++ b/tools/generate_emu_config/rebuild_win.bat @@ -1,74 +1,71 @@ -@echo off - -setlocal -pushd "%~dp0" - -set "venv=.env-win" -set "out_dir=bin\win" -set "build_temp_dir=bin\tmp\win" -:: relative to build_temp_dir -set "icon_file=..\..\..\icon\Froyoshark-Enkel-Steam.ico" -set "signer_tool=..\..\third-party\build\win\cert\sign_helper.bat" - -set /a last_code=0 - -if not exist "%signer_tool%" ( - 1>&2 echo "[X] signing tool wasn't found" - set /a last_code=1 - goto :script_end -) - -if exist "%out_dir%" ( - rmdir /s /q "%out_dir%" -) -mkdir "%out_dir%" - -if exist "%build_temp_dir%" ( - rmdir /s /q "%build_temp_dir%" -) - -del /f /q "*.spec" - -call "%venv%\Scripts\activate.bat" - -echo building generate_emu_config... -pyinstaller "generate_emu_config.py" --distpath "%out_dir%" -y --clean --onedir --name "generate_emu_config" --noupx --console -i "%icon_file%" --collect-submodules "steam" --workpath "%build_temp_dir%" --specpath "%build_temp_dir%" || ( - set /a last_code=1 - goto :script_end -) -call "%signer_tool%" "%out_dir%\generate_emu_config\generate_emu_config.exe" - -echo building parse_controller_vdf... -pyinstaller "controller_config_generator\parse_controller_vdf.py" --distpath "%out_dir%" -y --clean --onedir --name "parse_controller_vdf" --noupx --console -i "NONE" --workpath "%build_temp_dir%" --specpath "%build_temp_dir%" || ( - set /a last_code=1 - goto :script_end -) -call "%signer_tool%" "%out_dir%\parse_controller_vdf\parse_controller_vdf.exe" - -echo building parse_achievements_schema... -pyinstaller "stats_schema_achievement_gen\achievements_gen.py" --distpath "%out_dir%" -y --clean --onedir --name "parse_achievements_schema" --noupx --console -i "NONE" --workpath "%build_temp_dir%" --specpath "%build_temp_dir%" || ( - set /a last_code=1 - goto :script_end -) -call "%signer_tool%" "%out_dir%\parse_achievements_schema\parse_achievements_schema.exe" - -copy /y "steam_default_icon_locked.jpg" "%out_dir%\generate_emu_config\" -copy /y "steam_default_icon_unlocked.jpg" "%out_dir%\generate_emu_config\" -copy /y "README.md" "%out_dir%\generate_emu_config\" -1>"%out_dir%\generate_emu_config\my_login.EXAMPLE.txt" echo Check the README -1>"%out_dir%\generate_emu_config\top_owners_ids.EXAMPLE.txt" echo Check the README -1>>"%out_dir%\generate_emu_config\top_owners_ids.EXAMPLE.txt" echo You can use a website like: https://steamladder.com/games/ - -echo: -echo ============= -echo Built inside: "%out_dir%\" - - -:script_end -if exist "%build_temp_dir%" ( - rmdir /s /q "%build_temp_dir%" -) -popd -endlocal & ( - exit /b %last_code% -) +@echo off +setlocal EnableDelayedExpansion +cd /d "%~dp0" + +set "ROOT=%cd%" +set "VENV=%ROOT%\.env-win" +set "OUT_DIR=%ROOT%\bin\win" +set "BUILD_TEMP_DIR=%ROOT%\bin\tmp\win" +set "ICON_FILE=%ROOT%\icon\Froyoshark-Enkel-Steam.ico" + +set /a "LAST_ERR_CODE=0" + +set "SIGNER_TOOL=..\..\third-party\build\win\cert\sign_helper.bat" +if not exist "%SIGNER_TOOL%" ( + 1>&2 echo:signing tool wasn't found + set /a "LAST_ERR_CODE=1" + goto :end_script +) + +if exist "%OUT_DIR%" ( + rmdir /s /q "%OUT_DIR%" +) +mkdir "%OUT_DIR%" + +if exist "%BUILD_TEMP_DIR%" ( + rmdir /s /q "%BUILD_TEMP_DIR%" +) + +call "%VENV%\Scripts\activate.bat" + +echo:building generate_emu_config... +pyinstaller "generate_emu_config.py" --distpath "%OUT_DIR%" -y --clean --onedir --name "generate_emu_config" --noupx --console -i "%ICON_FILE%" --collect-submodules "steam" --workpath "%BUILD_TEMP_DIR%" --specpath "%BUILD_TEMP_DIR%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) +call "%SIGNER_TOOL%" "%OUT_DIR%\generate_emu_config\generate_emu_config.exe" + +echo:building parse_controller_vdf... +pyinstaller "controller_config_generator\parse_controller_vdf.py" --distpath "%OUT_DIR%" -y --clean --onedir --name "parse_controller_vdf" --noupx --console -i "NONE" --workpath "%BUILD_TEMP_DIR%" --specpath "%BUILD_TEMP_DIR%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) +call "%SIGNER_TOOL%" "%OUT_DIR%\parse_controller_vdf\parse_controller_vdf.exe" + +echo:building parse_achievements_schema... +pyinstaller "stats_schema_achievement_gen\achievements_gen.py" --distpath "%OUT_DIR%" -y --clean --onedir --name "parse_achievements_schema" --noupx --console -i "NONE" --workpath "%BUILD_TEMP_DIR%" --specpath "%BUILD_TEMP_DIR%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) +call "%SIGNER_TOOL%" "%OUT_DIR%\parse_achievements_schema\parse_achievements_schema.exe" + +copy /y "steam_default_icon_locked.jpg" "%OUT_DIR%\generate_emu_config\" +copy /y "steam_default_icon_unlocked.jpg" "%OUT_DIR%\generate_emu_config\" +copy /y "README.md" "%OUT_DIR%\generate_emu_config\" +echo Check the README>> "%OUT_DIR%\generate_emu_config\my_login.EXAMPLE.txt" +echo Check the README>> "%OUT_DIR%\generate_emu_config\top_owners_ids.EXAMPLE.txt" +echo You can use a website like: https://steamladder.com/games/>> "%OUT_DIR%\generate_emu_config\top_owners_ids.EXAMPLE.txt" + +echo: +echo:============= +echo:Built inside: "%OUT_DIR%\" + +goto :end_script + +:end_script + if exist "%BUILD_TEMP_DIR%" ( + rmdir /s /q "%BUILD_TEMP_DIR%" + ) + + endlocal + exit /b %LAST_ERR_CODE% diff --git a/tools/generate_emu_config/recreate_venv_win.bat b/tools/generate_emu_config/recreate_venv_win.bat index 4b4a7494..9b93127e 100644 --- a/tools/generate_emu_config/recreate_venv_win.bat +++ b/tools/generate_emu_config/recreate_venv_win.bat @@ -1,19 +1,29 @@ -@echo off - -cd /d "%~dp0" - -set "venv=.env-win" -set "reqs_file=requirements.txt" - -if exist "%venv%" ( - rmdir /s /q "%venv%" -) - -python -m venv "%venv%" || exit /b 1 -timeout /t 1 /nobreak -call "%venv%\Scripts\activate.bat" -pip install -r "%reqs_file%" -set /a exit_code=errorlevel - -call "%venv%\Scripts\deactivate.bat" -exit /b %exit_code% +@echo off +cd /d "%~dp0" + +set "ROOT=%cd%" +set "VENV=%ROOT%\.env-win" +set "REQS_FILE=%ROOT%\requirements.txt" + +set /a "LAST_ERR_CODE=0" + +if exist "%VENV%" ( + rmdir /s /q "%VENV%" +) + +python -m venv "%VENV%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) + +timeout /t 1 /nobreak + +call "%VENV%\Scripts\activate.bat" +pip install -r "%REQS_FILE%" +set /a "LAST_ERR_CODE=%ERRORLEVEL%" +call "%VENV%\Scripts\deactivate.bat" + +goto :end_script + +:end_script + exit /b %LAST_ERR_CODE% diff --git a/tools/migrate_gse/package_win.bat b/tools/migrate_gse/package_win.bat index 71a4de5c..d595b882 100644 --- a/tools/migrate_gse/package_win.bat +++ b/tools/migrate_gse/package_win.bat @@ -1,48 +1,52 @@ -@echo off - -setlocal -pushd "%~dp0" - -set /a last_code=0 - -set "build_dir=bin\win" -set "out_dir=bin\package\win" - -set /a MEM_PERCENT=90 -set /a DICT_SIZE_MB=384 -set "packager=..\..\third-party\deps\win\7za\7za.exe" - -:: use 70% -if defined NUMBER_OF_PROCESSORS ( - set /a THREAD_COUNT=NUMBER_OF_PROCESSORS*70/100 -) else ( - set /a THREAD_COUNT=2 -) - -if not exist "%packager%" ( - 1>&2 echo "[X] packager app wasn't found" - set /a last_code=1 - goto :script_end -) - -if not exist "%build_dir%" ( - 1>&2 echo "[X] build folder wasn't found" - set /a last_code=1 - goto :script_end -) - -mkdir "%out_dir%" - -set "archive_file=%out_dir%\migrate_gse-win.7z" -if exist "%archive_file%" ( - del /f /q "%archive_file%" -) - -"%packager%" a "%archive_file%" ".\%build_dir%\*" -t7z -slp -ssw -mx -myx -mmemuse=p%MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%DICT_SIZE_MB%m -mmt=%THREAD_COUNT% -mmtf+ -mtm- -mtc- -mta- -mtr+ - - -:script_end -popd -endlocal & ( - exit /b %last_code% -) +@echo off +setlocal EnableDelayedExpansion +cd /d "%~dp0" + +set /a "MAX_THREADS=2" +if defined NUMBER_OF_PROCESSORS ( + :: use 70% + set /a "MAX_THREADS=%NUMBER_OF_PROCESSORS% * 70 / 100" + if %MAX_THREADS% lss 1 ( + set /a "MAX_THREADS=1" + ) +) + +set "ROOT=%cd%" +set "BUILD_DIR=%ROOT%\bin\win" +set "OUT_DIR=%ROOT%\bin\package\win" + +set /a "PKG_EXE_MEM_PERCENT=90" +set /a "PKG_EXE_DICT_SIZE_MB=384" +set "PKG_EXE=..\..\third-party\deps\win\7za\7za.exe" +if not exist "%PKG_EXE%" ( + 1>&2 echo:packager wasn't found + goto :end_script_with_err +) + +if not exist "%BUILD_DIR%" ( + 1>&2 echo:build folder wasn't found + goto :end_script_with_err +) + +if not exist "%OUT_DIR%" ( + mkdir "%OUT_DIR%" +) + +set "ACHIVE_FILE=%OUT_DIR%\migrate_gse-win.7z" +if exist "%ACHIVE_FILE%" ( + del /f /s /q "%ACHIVE_FILE%" +) + +call "%PKG_EXE%" a "%ACHIVE_FILE%" "%BUILD_DIR%\*" -t7z -slp -ssw -mx -myx -mmemuse=p%PKG_EXE_MEM_PERCENT% -ms=on -mqs=off -mf=on -mhc+ -mhe- -m0=LZMA2:d=%PKG_EXE_DICT_SIZE_MB%m -mmt=%MAX_THREADS% -mmtf+ -mtm- -mtc- -mta- -mtr+ || ( + goto :end_script_with_err +) + +goto :end_script + +:end_script + endlocal + exit /b 0 + +:end_script_with_err + endlocal + exit /b 1 diff --git a/tools/migrate_gse/rebuild_win.bat b/tools/migrate_gse/rebuild_win.bat index d8df6fd1..c349746f 100644 --- a/tools/migrate_gse/rebuild_win.bat +++ b/tools/migrate_gse/rebuild_win.bat @@ -1,53 +1,51 @@ -@echo off - -setlocal -pushd "%~dp0" - -set "venv=.env-win" -set "out_dir=bin\win" -set "build_temp_dir=bin\tmp\win" -set "signer_tool=..\..\third-party\build\win\cert\sign_helper.bat" - -set /a last_code=0 - -if not exist "%signer_tool%" ( - 1>&2 echo "[X] signing tool wasn't found" - set /a last_code=1 - goto :script_end -) - -if exist "%out_dir%" ( - rmdir /s /q "%out_dir%" -) -mkdir "%out_dir%" - -if exist "%build_temp_dir%" ( - rmdir /s /q "%build_temp_dir%" -) - -del /f /q "*.spec" - -call "%venv%\Scripts\activate.bat" - -echo building migrate_gse... -pyinstaller "main.py" --distpath "%out_dir%" -y --clean --onedir --name "migrate_gse" --noupx --console -i "NONE" --workpath "%build_temp_dir%" --specpath "%build_temp_dir%" || ( - set /a last_code=1 - goto :script_end -) -call "%signer_tool%" "%out_dir%\migrate_gse\migrate_gse.exe" - -copy /y README.md "%out_dir%\migrate_gse\" - -echo: -echo ============= -echo Built inside: "%out_dir%\" - - -:script_end -if exist "%build_temp_dir%" ( - rmdir /s /q "%build_temp_dir%" -) -popd -endlocal & ( - exit /b %last_code% -) +@echo off +setlocal EnableDelayedExpansion +cd /d "%~dp0" + +set "ROOT=%cd%" +set "VENV=%ROOT%\.env-win" +set "OUT_DIR=%ROOT%\bin\win" +set "BUILD_TEMP_DIR=%ROOT%\bin\tmp\win" + +set /a "LAST_ERR_CODE=0" + +set "SIGNER_TOOL=..\..\third-party\build\win\cert\sign_helper.bat" +if not exist "%SIGNER_TOOL%" ( + 1>&2 echo:signing tool wasn't found + set /a "LAST_ERR_CODE=1" + goto :end_script +) + +if exist "%OUT_DIR%" ( + rmdir /s /q "%OUT_DIR%" +) +mkdir "%OUT_DIR%" + +if exist "%BUILD_TEMP_DIR%" ( + rmdir /s /q "%BUILD_TEMP_DIR%" +) + +call "%VENV%\Scripts\activate.bat" + +echo:building migrate_gse... +pyinstaller "main.py" --distpath "%OUT_DIR%" -y --clean --onedir --name "migrate_gse" --noupx --console -i "NONE" --workpath "%BUILD_TEMP_DIR%" --specpath "%BUILD_TEMP_DIR%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) +call "%SIGNER_TOOL%" "%OUT_DIR%\migrate_gse\migrate_gse.exe" + +copy /y "README.md" "%out_dir%\migrate_gse\" + +echo: +echo:============= +echo:Built inside: "%OUT_DIR%\" + +goto :end_script + +:end_script + if exist "%BUILD_TEMP_DIR%" ( + rmdir /s /q "%BUILD_TEMP_DIR%" + ) + + endlocal + exit /b %LAST_ERR_CODE% diff --git a/tools/migrate_gse/recreate_venv_win.bat b/tools/migrate_gse/recreate_venv_win.bat index 4b4a7494..9b93127e 100644 --- a/tools/migrate_gse/recreate_venv_win.bat +++ b/tools/migrate_gse/recreate_venv_win.bat @@ -1,19 +1,29 @@ -@echo off - -cd /d "%~dp0" - -set "venv=.env-win" -set "reqs_file=requirements.txt" - -if exist "%venv%" ( - rmdir /s /q "%venv%" -) - -python -m venv "%venv%" || exit /b 1 -timeout /t 1 /nobreak -call "%venv%\Scripts\activate.bat" -pip install -r "%reqs_file%" -set /a exit_code=errorlevel - -call "%venv%\Scripts\deactivate.bat" -exit /b %exit_code% +@echo off +cd /d "%~dp0" + +set "ROOT=%cd%" +set "VENV=%ROOT%\.env-win" +set "REQS_FILE=%ROOT%\requirements.txt" + +set /a "LAST_ERR_CODE=0" + +if exist "%VENV%" ( + rmdir /s /q "%VENV%" +) + +python -m venv "%VENV%" || ( + set /a "LAST_ERR_CODE=1" + goto :end_script +) + +timeout /t 1 /nobreak + +call "%VENV%\Scripts\activate.bat" +pip install -r "%REQS_FILE%" +set /a "LAST_ERR_CODE=%ERRORLEVEL%" +call "%VENV%\Scripts\deactivate.bat" + +goto :end_script + +:end_script + exit /b %LAST_ERR_CODE%