158 lines
4.0 KiB
Batchfile
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
|