BinTerms1 = strings_to_binary(Terms),
ModInc = case proplists:get_bool(include_modules_configs, Opts) of
true ->
- filelib:wildcard(ext_mod:modules_dir() ++ "/*/conf/*.{yml,yaml}");
+ Files = [{filename:rootname(filename:basename(F)), F}
+ || F <- filelib:wildcard(ext_mod:config_dir() ++ "/*.{yml,yaml}")
+ ++ filelib:wildcard(ext_mod:modules_dir() ++ "/*/conf/*.{yml,yaml}")],
+ [proplists:get_value(F,Files) || F <- proplists:get_keys(Files)];
_ ->
- []
+ []
end,
BinTerms = BinTerms1 ++ [{include_config_file, list_to_binary(V)} || V <- ModInc],
BinTerms2 = case proplists:get_bool(replace_macros, Opts) of
installed_command/0, installed/0, installed/1,
install/1, uninstall/1, upgrade/0, upgrade/1,
add_sources/2, del_sources/1, modules_dir/0,
- opt_type/1]).
+ config_dir/0, opt_type/1]).
-include("ejabberd_commands.hrl").
sources_dir() ->
filename:join(modules_dir(), "sources").
+config_dir() ->
+ DefaultDir = filename:join(modules_dir(), "conf"),
+ getenv("CONTRIB_MODULES_CONF_DIR", DefaultDir).
+
module_lib_dir(Package) ->
filename:join(modules_dir(), Package).