rabbitmq-server/scripts/bazel/rabbitmq-run.bat

158 lines
4.0 KiB
Batchfile

@echo off
setLocal enableDelayedExpansion
setlocal enableextensions
set ORIGINAL_ARGS=%*
if not defined TEST_SRCDIR (
set BASE_DIR=%cd%
) else (
set BASE_DIR=%TEST_SRCDIR%/%TEST_WORKSPACE%
set BASE_DIR=%BASE_DIR:/=\\%
)
if "%1" == "-C" (
cd %2
shift 2
)
:loop-args
if "%1" == "" goto :loop-args-end
if "%1" == "run-broker" (
set CMD=%1
shift
goto :loop-args
)
if "%1" == "start-background-broker" (
set CMD=%1
shift
goto :loop-args
)
if "%1" == "stop-node" (
set CMD=%1
shift
goto :loop-args
)
if "%1" == "set-resource-alarm" (
set CMD=%1
shift
goto :loop-args
)
if "%1" == "clean-resource-alarm" (
set CMD=%1
shift
goto :loop-args
)
for /F "tokens=1,3 delims=. " %%a in ("%1") do (
set %%a=%%b
)
shift
goto :loop-args
:loop-args-end
set DEFAULT_PLUGINS_DIR=%BASE_DIR%\{RABBITMQ_HOME}\plugins
if defined EXTRA_PLUGINS_DIR (
set DEFAULT_PLUGINS_DIR=%DEFAULT_PLUGINS_DIR%;%EXTRA_PLUGINS_DIR%
)
if not defined TEST_TMPDIR (
set TEST_TMPDIR=%TEMP%\rabbitmq-test-instances
)
set RABBITMQ_SCRIPTS_DIR=%BASE_DIR%\{RABBITMQ_HOME}\sbin
set RABBITMQ_PLUGINS=%RABBITMQ_SCRIPTS_DIR%\rabbitmq-plugins.bat
set RABBITMQ_SERVER=%RABBITMQ_SCRIPTS_DIR%\rabbitmq-server.bat
set RABBITMQCTL=%RABBITMQ_SCRIPTS_DIR%\rabbitmqctl.bat
set HOSTNAME=%COMPUTERNAME%
if not defined RABBITMQ_NODENAME set RABBITMQ_NODENAME=rabbit@%HOSTNAME%
if not defined RABBITMQ_NODENAME_FOR_PATHS set RABBITMQ_NODENAME_FOR_PATHS=%RABBITMQ_NODENAME%
set NODE_TMPDIR=%TEST_TMPDIR%\%RABBITMQ_NODENAME_FOR_PATHS%
set RABBITMQ_BASE=%NODE_TMPDIR%
set RABBITMQ_PID_FILE=%NODE_TMPDIR%\%{RABBITMQ_NODENAME_FOR_PATHS%.pid
set RABBITMQ_LOG_BASE=%NODE_TMPDIR%\log
set RABBITMQ_MNESIA_BASE=%NODE_TMPDIR%\mnesia
set RABBITMQ_MNESIA_DIR=%RABBITMQ_MNESIA_BASE%\%RABBITMQ_NODENAME_FOR_PATHS%
set RABBITMQ_QUORUM_DIR=%RABBITMQ_MNESIA_DIR%\quorum
set RABBITMQ_STREAM_DIR=%RABBITMQ_MNESIA_DIR%\stream
if not defined RABBITMQ_PLUGINS_DIR set RABBITMQ_PLUGINS_DIR=%DEFAULT_PLUGINS_DIR%
set RABBITMQ_PLUGINS_EXPAND_DIR=%NODE_TMPDIR%\plugins
set RABBITMQ_FEATURE_FLAGS_FILE=%NODE_TMPDIR%\feature_flags
set RABBITMQ_ENABLED_PLUGINS_FILE=%NODE_TMPDIR%\enabled_plugins
if not defined RABBITMQ_SERVER_START_ARGS (
set RABBITMQ_SERVER_START_ARGS=-ra wal_sync_method sync
)
if not defined RABBITMQ_LOG (
set RABBITMQ_LOG=debug,+color
)
if defined LEAVE_PLUGINS_DISABLED (
set RABBITMQ_ENABLED_PLUGINS=
) else (
set RABBITMQ_ENABLED_PLUGINS=ALL
)
if not exist "%TEST_TMPDIR%" mkdir %TEST_TMPDIR%
if not exist "%RABBITMQ_LOG_BASE%" mkdir %RABBITMQ_LOG_BASE%
if not exist "%RABBITMQ_MNESIA_BASE%" mkdir %RABBITMQ_MNESIA_BASE%
if not exist "%RABBITMQ_PLUGINS_DIR%" mkdir %RABBITMQ_PLUGINS_DIR%
if not exist "%RABBITMQ_PLUGINS_EXPAND_DIR%" mkdir %RABBITMQ_PLUGINS_EXPAND_DIR%
if "%CMD%" == "run-broker" (
set RABBITMQ_ALLOW_INPUT=true
set RABBITMQ_CONFIG_FILE=%TEST_TMPDIR%\test.config
> !RABBITMQ_CONFIG_FILE! (
@echo [
@echo {rabbit, [
@echo {loopback_users, []}
@echo ]},
@echo {rabbitmq_management, []},
@echo {rabbitmq_mqtt, []},
@echo {rabbitmq_stomp, []},
@echo {ra, [
@echo {data_dir, "!RABBITMQ_QUORUM_DIR:\=\\!"},
@echo {wal_sync_method, sync}
@echo ]},
@echo {osiris, [
@echo {data_dir, "!RABBITMQ_STREAM_DIR:\=\\!"}
@echo ]}
@echo ].
)
call %RABBITMQ_SCRIPTS_DIR%\rabbitmq-server.bat
if ERRORLEVEL 1 (
exit /B %ERRORLEVEL%
)
exit /B 0
)
if "%CMD%" == "start-background-broker" (
echo ERROR: not implemented by rabbitmq-run.bat
exit /b 1
)
if "%CMD%" == "stop-node" (
echo ERROR: not implemented by rabbitmq-run.bat
exit /b 1
)
if "%CMD%" == "set-resource-alarm" (
echo ERROR: not implemented by rabbitmq-run.bat
exit /b 1
)
if "%CMD%" == "clear-resource-alarm" (
echo ERROR: not implemented by rabbitmq-run.bat
exit /b 1
)
echo ERROR: unrecognized rabbitmq-run.bat args: "%ORIGINAL_ARGS%"
exit /b 1