Files
gtav-src/tools_ng/script/util/bootstrap.bat
T
2025-09-29 00:52:08 +02:00

90 lines
2.6 KiB
Batchfile
Executable File

@ECHO OFF
REM Bootstrap.bat
REM Description : General Purpose Control Logic for bootstrapping a process.
REM - uses an ironruby script to handle process exit codes
REM - process exits codes should use RSG.Pipeline.Core.Constants
REM Author : Derek Ward <derek@rockstarnorth.com>
REM Date : 19 March 2013
SET CALLER=%0
SET RS_BOOTSTRAP_NAME=%1
SHIFT
SET BOOTSTRAP_SCRIPT=%1
SHIFT
SET PROCESS=%1
SHIFT
SET ARGS=%1
:ARG_LOOP
SHIFT
if [%1]==[] GOTO :EXIT_ARG_LOOP
SET ARGS=%ARGS% %1
GOTO ARG_LOOP
:EXIT_ARG_LOOP
ECHO *************************************************************************************
ECHO BOOTSTRAP %CALLER% (%RS_BOOTSTRAP_NAME%)
ECHO BOOTSTRAP_SCRIPT %BOOTSTRAP_SCRIPT%
ECHO PROCESS %PROCESS%
ECHO ARGS %ARGS%
ECHO *************************************************************************************
SET /a RESUME_COUNT=0
GOTO START
:RESUME
ECHO.
ECHO *************************************************************************************
ECHO %PROCESS% %ARGS%
ECHO resume #%RESUME_COUNT% %date%%time%
ECHO *************************************************************************************
ECHO.
GOTO :START_PROCESS
:START
ECHO.
ECHO *************************************************************************************
ECHO %PROCESS% %ARGS%
ECHO start %date%%time%
ECHO *************************************************************************************
ECHO.
GOTO :START_PROCESS
:START_PROCESS
CALL %RS_TOOLSROOT%/ironlib/prompt.bat %PROCESS% %ARGS%
SET PROCESS_RETCODE=%ERRORLEVEL%
ECHO %PROCESS% RETCODE: %PROCESS_RETCODE%
IF %PROCESS_RETCODE%==-532462766 (
ECHO.
ECHO *************************************************************************************
ECHO Unhandled Exception, %PROCESS% %ARGS%
ECHO Bootstrapping will now stop.
ECHO *************************************************************************************
SET BOOTSTRAP_RETCODE=%PROCESS_RETCODE%
GOTO :EXIT
)
:BOOTSTRAP
CALL %RS_TOOLSROOT%/ironlib/prompt.bat %RS_TOOLSIR% %BOOTSTRAP_SCRIPT% %ARGS% %PROCESS_RETCODE%
SET BOOTSTRAP_RETCODE=%ERRORLEVEL%
ECHO %BOOTSTRAP_SCRIPT% RETCODE: %BOOTSTRAP_RETCODE%
:SYNC TO TOOLS (IF REQUIRED)
CALL %RS_TOOLSROOT%/tmp/%RS_BOOTSTRAP_NAME%/p4_automation_tools_sync.bat
IF %BOOTSTRAP_RETCODE%==1 (
SET /a RESUME_COUNT=RESUME_COUNT+1
GOTO :RESUME
)
:EXIT
ECHO.
ECHO *************************************************************************************
ECHO %PROCESS% (%BOOTSTRAP_SCRIPT%) exiting
ECHO *************************************************************************************
ECHO.
ping -n 10 127.0.0.1 > nul
EXIT /B %BOOTSTRAP_RETCODE%