diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-05 14:43:29 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-05 14:43:29 +0000 |
| commit | 266f37db4b4bbf23c9559b10d7d716bfc66b6652 (patch) | |
| tree | f53a61bf2449c4b9e6e092550376d38ed4284aa5 | |
| parent | 246c21eec2d8acce04ce5bafa283877f46351666 (diff) | |
| download | rabbitmq-server-git-266f37db4b4bbf23c9559b10d7d716bfc66b6652.tar.gz | |
Generation called from inside erlang only
| -rwxr-xr-x | generate-config | 3 | ||||
| -rw-r--r-- | generate-config.bat | 2 | ||||
| -rwxr-xr-x | scripts/generate-config | 3 | ||||
| -rw-r--r-- | scripts/generate-config.bat | 2 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server | 38 | ||||
| -rw-r--r-- | scripts/rabbitmq-server.bat | 28 | ||||
| -rw-r--r-- | src/rabbit_config.erl | 50 | ||||
| -rw-r--r-- | src/rabbit_prelaunch.erl | 2 |
8 files changed, 64 insertions, 64 deletions
diff --git a/generate-config b/generate-config deleted file mode 100755 index def36b1a13..0000000000 --- a/generate-config +++ /dev/null @@ -1,3 +0,0 @@ -rm -rf ./generated/rabbitmq.config && -./cuttlefish -e . -s ./schema -f rabbitmq $* && -mv ./generated/rabbitmq.*.config ./generated/rabbitmq.config
\ No newline at end of file diff --git a/generate-config.bat b/generate-config.bat deleted file mode 100644 index 8032dac32b..0000000000 --- a/generate-config.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -del ".\generated\rabbitmq.config" && del ".\generated\rabbitmq.*.config" && "%ERLANG_HOME%\bin\escript.exe" .\cuttlefish -e "." -i .\rabbitmq.schema %* -f rabbitmq && ren ".\generated\rabbitmq.*.config" "rabbitmq.config" diff --git a/scripts/generate-config b/scripts/generate-config new file mode 100755 index 0000000000..475af2f9d2 --- /dev/null +++ b/scripts/generate-config @@ -0,0 +1,3 @@ +rm -rf ./generated/rabbitmq.config && +./cuttlefish -s ./schema -f rabbitmq $* && +mv ./generated/rabbitmq.*.config ./generated/rabbitmq.config
\ No newline at end of file diff --git a/scripts/generate-config.bat b/scripts/generate-config.bat new file mode 100644 index 0000000000..9cc6231d24 --- /dev/null +++ b/scripts/generate-config.bat @@ -0,0 +1,2 @@ +@echo off +del ".\generated\rabbitmq.config" && del ".\generated\rabbitmq.*.config" && "%ERLANG_HOME%\bin\escript.exe" .\cuttlefish -i .\rabbitmq.schema %* -f rabbitmq && ren ".\generated\rabbitmq.*.config" "rabbitmq.config" diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 2a41f3e9cc..95bf009265 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -58,25 +58,24 @@ esac RABBITMQ_EBIN_ROOT="${RABBITMQ_HOME}/ebin" -generate_config() { - rm -rf ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.config - ./cuttlefish -e ${RABBITMQ_GENERATED_CONFIG_DIR} -s ./schema -c ${RABBITMQ_CONFIG_FILE}.conf -f rabbitmq - mv ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.*.config ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.config -} - -if [ -f "${RABBITMQ_CONFIG_FILE}.config" ]; then - RABBITMQ_CONFIG_FILE_ACTUAL=$RABBITMQ_CONFIG_FILE -else - - [ -f "${RABBITMQ_CONFIG_FILE}.conf" ] && - [ -d $RABBITMQ_GENERATED_CONFIG_DIR ] && - generate_config && - RABBITMQ_CONFIG_FILE_ACTUAL="${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq" -fi +# generate_config() { +# rm -rf ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.config +# ./cuttlefish -e ${RABBITMQ_GENERATED_CONFIG_DIR} -s ./schema -c ${RABBITMQ_CONFIG_FILE}.conf -f rabbitmq +# mv ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.*.config ${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq.config +# } + +# if [ -f "${RABBITMQ_CONFIG_FILE}.config" ]; then +# RABBITMQ_CONFIG_FILE_ACTUAL=$RABBITMQ_CONFIG_FILE +# else +# [ -f "${RABBITMQ_CONFIG_FILE}.conf" ] && +# [ -d $RABBITMQ_GENERATED_CONFIG_DIR ] && +# generate_config && +# RABBITMQ_CONFIG_FILE_ACTUAL="${RABBITMQ_GENERATED_CONFIG_DIR}/generated/rabbitmq" +# fi set +e -RABBITMQ_CONFIG_FILE_ACTUAL=$RABBITMQ_CONFIG_FILE_ACTUAL \ +RABBITMQ_CONFIG_FILE=$RABBITMQ_CONFIG_FILE \ RABBITMQ_DIST_PORT=$RABBITMQ_DIST_PORT \ ${ERL_DIR}erl -pa "$RABBITMQ_EBIN_ROOT" \ -boot "${CLEAN_BOOT_FILE}" \ @@ -99,8 +98,11 @@ fi set -e -RABBITMQ_CONFIG_ARG= -[ -f "${RABBITMQ_CONFIG_FILE_ACTUAL}.config" ] && RABBITMQ_CONFIG_ARG="-config ${RABBITMQ_CONFIG_FILE_ACTUAL}" +if [ -f "${RABBITMQ_CONFIG_FILE}.config" ]; then + RABBITMQ_CONFIG_ARG="-config ${RABBITMQ_CONFIG_FILE}" +elif [ -f "${RABBITMQ_CONFIG_FILE}.conf" ]; then + RABBITMQ_CONFIG_ARG="-conf ${RABBITMQ_CONFIG_FILE} -conf_dir ${RABBITMQ_GENERATED_CONFIG_DIR} -conf_gen_script `dirname $0`/generate-config" +fi RABBITMQ_LISTEN_ARG= [ "x" != "x$RABBITMQ_NODE_PORT" ] && [ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && RABBITMQ_LISTEN_ARG="-rabbit tcp_listeners [{\""${RABBITMQ_NODE_IP_ADDRESS}"\","${RABBITMQ_NODE_PORT}"}]" diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 15dcab6616..3e3faca535 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -41,17 +41,17 @@ if not exist "!ERLANG_HOME!\bin\erl.exe" ( set RABBITMQ_EBIN_ROOT=!RABBITMQ_HOME!\ebin
-set RABBITMQ_CONFIG_FILE_ACTUAL="!RABBITMQ_CONFIG_FILE!"
-
-if not exist "!RABBITMQ_CONFIG_FILE!.config" (
- if exist "!RABBITMQ_CONFIG_FILE!.conf" (
- del "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.config"
- del "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.*.config"
- "!ERLANG_HOME!\bin\escript.exe" .\cuttlefish -e "!RABBITMQ_GENERATED_CONFIG_DIR!" -i .\rabbitmq.schema -c "!RABBITMQ_CONFIG_FILE!.conf" -f rabbitmq
- ren "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.*.config" "rabbitmq.config"
- set RABBITMQ_CONFIG_FILE_ACTUAL="!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq"
- )
-)
+set RABBITMQ_CONFIG_FILE="!RABBITMQ_CONFIG_FILE!"
+
+rem if not exist "!RABBITMQ_CONFIG_FILE!.config" (
+rem if exist "!RABBITMQ_CONFIG_FILE!.conf" (
+rem del "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.config"
+rem del "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.*.config"
+rem "!ERLANG_HOME!\bin\escript.exe" .\cuttlefish -e "!RABBITMQ_GENERATED_CONFIG_DIR!" -i .\rabbitmq.schema -c "!RABBITMQ_CONFIG_FILE!.conf" -f rabbitmq
+rem ren "!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq.*.config" "rabbitmq.config"
+rem set RABBITMQ_CONFIG_FILE_ACTUAL="!RABBITMQ_GENERATED_CONFIG_DIR!\generated\rabbitmq"
+rem )
+rem )
"!ERLANG_HOME!\bin\erl.exe" ^
-pa "!RABBITMQ_EBIN_ROOT!" ^
@@ -70,8 +70,10 @@ if ERRORLEVEL 2 ( set RABBITMQ_EBIN_PATH="-pa !RABBITMQ_EBIN_ROOT!"
-if exist "!RABBITMQ_CONFIG_FILE_ACTUAL!.config" (
- set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE_ACTUAL!"
+if exist "!RABBITMQ_CONFIG_FILE!.config" (
+ set RABBITMQ_CONFIG_ARG=-config "!RABBITMQ_CONFIG_FILE!"
+) else if exist "!RABBITMQ_CONFIG_FILE!.conf" (
+ set RABBITMQ_CONFIG_ARG=-conf "!RABBITMQ_CONFIG_FILE!" -conf_dir "!RABBITMQ_GENERATED_CONFIG_DIR!" -conf_gen_script "%TDP0%/generate-config.bat"
) else (
set RABBITMQ_CONFIG_ARG=
)
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl index cb2e6a144a..5e75223f63 100644 --- a/src/rabbit_config.erl +++ b/src/rabbit_config.erl @@ -1,37 +1,33 @@ -module(rabbit_config). --export([generate_config_file/1, prepare_config/0]). +-export([generate_config_file/3, prepare_config/0]). prepare_config() -> - {ok, Configs} = init:get_argument(config), - ConfFiles = [Config++".conf" || [Config] <- Configs, - rabbit_file:is_file(Config ++ ".conf")], - case ConfFiles of - [] -> ok; - _ -> - case generate_config_file(ConfFiles) of - {ok, GeneratedConfigFile} -> - ok = application_controller:change_application_data( - [], [GeneratedConfigFile]); - {error, Reason} -> - {error, Reason} - end + case {init:get_argument(conf), init:get_argument(conf_dir), init:get_argument(conf_gen_script)} of + {{ok, Configs}, {ok, ConfDir}, {ok, ConfScript}} -> + ConfFiles = [Config++".conf" || [Config] <- Configs, + rabbit_file:is_file(Config ++ + ".conf")], + case ConfFiles of + [] -> ok; + _ -> + case generate_config_file(ConfFiles, ConfDir, ConfScript) of + {ok, GeneratedConfigFile} -> + ok = application_controller:change_application_data( + [], [GeneratedConfigFile]); + {error, Reason} -> + {error, Reason} + end + end; + _ -> ok end. -generate_config_file(ConfFiles) -> - rabbit_file:recursive_delete("./generated"), - ConfArg = [["-c", ConfFile] || ConfFile <- ConfFiles], - Command = case os:type() of - {unix, _} -> - ["./generate-config ", ConfArg]; - {win32, _} -> - [".generate-config.bat ", ConfArg]; - _ -> - {error, os_unsupported} - end, - Result = os:cmd(Command), +generate_config_file(ConfFiles, ConfDir, ConfScript) -> + rabbit_file:recursive_delete(filename:join([ConfDir, "generated"])), + Command = [ ConfScript, " -e ", ConfDir, [[" -c ", ConfFile] || ConfFile <- ConfFiles]], + Result = rabbit_misc:os_cmd(Command), case string:str(Result, " -config ") of 0 -> {error, {generaion_error, Result}}; - _ -> {ok, "./generated/rabbitmq.config"} + _ -> {ok, filename:join([ConfDir, "generated", "rabbitmq.config"])} end.
\ No newline at end of file diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl index 0b3ca4960b..5ecdd75acc 100644 --- a/src/rabbit_prelaunch.erl +++ b/src/rabbit_prelaunch.erl @@ -79,7 +79,7 @@ duplicate_node_check(NodeName, NodeHost) -> end. dist_port_set_check() -> - case os:getenv("RABBITMQ_CONFIG_FILE_ACTUAL") of + case os:getenv("RABBITMQ_CONFIG_FILE") of false -> ok; File -> |
