aboutsummaryrefslogtreecommitdiff
path: root/src/ext_mod.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_mod.erl')
-rw-r--r--src/ext_mod.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/ext_mod.erl b/src/ext_mod.erl
index e193698ed..19a489fb0 100644
--- a/src/ext_mod.erl
+++ b/src/ext_mod.erl
@@ -34,7 +34,7 @@
install/1, uninstall/1, upgrade/0, upgrade/1, add_paths/0,
add_sources/1, add_sources/2, del_sources/1, modules_dir/0,
config_dir/0, get_commands_spec/0]).
-
+-export([modules_configs/0, module_ebin_dir/1]).
-export([compile_erlang_file/2, compile_elixir_file/2]).
%% gen_server callbacks
@@ -426,6 +426,14 @@ config_dir() ->
DefaultDir = filename:join(modules_dir(), "conf"),
getenv("CONTRIB_MODULES_CONF_DIR", DefaultDir).
+-spec modules_configs() -> [binary()].
+modules_configs() ->
+ Fs = [{filename:rootname(filename:basename(F)), F}
+ || F <- filelib:wildcard(config_dir() ++ "/*.{yml,yaml}")
+ ++ filelib:wildcard(modules_dir() ++ "/*/conf/*.{yml,yaml}")],
+ [unicode:characters_to_binary(proplists:get_value(F, Fs))
+ || F <- proplists:get_keys(Fs)].
+
module_lib_dir(Package) ->
filename:join(modules_dir(), Package).