diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-09 14:35:47 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-02-09 14:35:47 +0000 |
| commit | fbb49b43fd6a3472fffb6ad7f0ecea94a4727926 (patch) | |
| tree | f638ac304e5f0006311ebe17c9a7648baad771e7 /src | |
| parent | bbaf22bd1fe2397dd0f97cf2fcde84db42e62837 (diff) | |
| download | rabbitmq-server-git-fbb49b43fd6a3472fffb6ad7f0ecea94a4727926.tar.gz | |
Additional config gile
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_config.erl | 38 |
1 files changed, 31 insertions, 7 deletions
diff --git a/src/rabbit_config.erl b/src/rabbit_config.erl index 7025805f99..c2c53e56b2 100644 --- a/src/rabbit_config.erl +++ b/src/rabbit_config.erl @@ -38,15 +38,15 @@ get_confs() -> end. prepare_config(Configs) -> - case {init:get_argument(conf_dir), init:get_argument(conf_gen_script)} of - {{ok, ConfDir}, {ok, ConfScript}} -> + case {init:get_argument(conf_dir), init:get_argument(conf_script_dir)} of + {{ok, ConfDir}, {ok, ScriptDir}} -> ConfFiles = [Config++".conf" || [Config] <- Configs, rabbit_file:is_file(Config ++ ".conf")], case ConfFiles of [] -> ok; _ -> - case generate_config_file(ConfFiles, ConfDir, ConfScript) of + case generate_config_file(ConfFiles, ConfDir, ScriptDir) of {ok, GeneratedConfigFile} -> {ok, GeneratedConfigFile}; {error, Reason} -> @@ -59,14 +59,21 @@ prepare_config(Configs) -> update_app_config(ConfigFile) -> ok = application_controller:change_application_data([], [ConfigFile]). -generate_config_file(ConfFiles, ConfDir, ConfScript) -> - SchemaFile = filename:join([filename:dirname(ConfScript), "rabbitmq.schema"]), +generate_config_file(ConfFiles, ConfDir, ScriptDir) -> + SchemaFile = filename:join([ScriptDir, "rabbitmq.schema"]), + Cuttlefish = filename:join([ScriptDir, "cuttlefish"]), GeneratedDir = filename:join([ConfDir, "generated"]), + + AdditionalConfigArg = case get_additional_config() of + {ok, FileName} -> [" -a ", FileName]; + none -> [] + end, rabbit_file:recursive_delete([GeneratedDir]), - Command = lists:concat(["escript ", "\"", ConfScript, "\"", + Command = lists:concat(["escript ", "\"", Cuttlefish, "\"", " -f rabbitmq -i ", "\"", SchemaFile, "\"", " -e ", "\"", ConfDir, "\"", - [[" -c ", ConfFile] || ConfFile <- ConfFiles]]), + [[" -c ", ConfFile] || ConfFile <- ConfFiles], + AdditionalConfigArg]), Result = rabbit_misc:os_cmd(Command), case string:str(Result, " -config ") of 0 -> {error, {generaion_error, Result}}; @@ -77,4 +84,21 @@ generate_config_file(ConfFiles, ConfDir, ConfScript) -> ResultFile), {ok, ResultFile} end. + +get_additional_config() -> + case init:get_argument(conf_additional) of + {ok, FileName} -> + ConfigName = FileName ++ ".config", + case rabbit_file:is_file(ConfigName) of + true -> {ok, ConfigName}; + false -> none + end; + _ -> none + end. + + + + + +
\ No newline at end of file |
