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 /src | |
| parent | 246c21eec2d8acce04ce5bafa283877f46351666 (diff) | |
| download | rabbitmq-server-git-266f37db4b4bbf23c9559b10d7d716bfc66b6652.tar.gz | |
Generation called from inside erlang only
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_config.erl | 50 | ||||
| -rw-r--r-- | src/rabbit_prelaunch.erl | 2 |
2 files changed, 24 insertions, 28 deletions
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 -> |
