{Vars, ElixirApps} = case file:consult(filename:join([filename:dirname(SCRIPT), "..", "vars.config"])) of {ok, Terms} -> Backends = [mssql, mysql, odbc, pgsql, redis, sqlite], EBs = lists:filter(fun(Backend) -> lists:member({Backend, true}, Terms) end, Backends), Elixirs = case lists:keyfind(elixir, 1, Terms) of {elixir, true} -> [elixir, iex, logger, mix]; _ -> [] end, Tools = case lists:keyfind(tools, 1, Terms) of {tools, true} -> [observer, runtime_tools]; % for `ejabberdctl etop` _ -> [] end, {[lists:keyfind(description, 1, Terms), lists:keyfind(vsn, 1, Terms), {env, [{enabled_backends, EBs}]} ], Elixirs ++ Tools}; _Err -> {[], []} end, {application, ejabberd, Vars ++ [{modules, []}, {registered, []}, {applications, [kernel, sasl, ssl, stdlib, syntax_tools]}, {included_applications, [compiler, inets, mnesia, os_mon, cache_tab, eimp, fast_tls, fast_xml, fast_yaml, p1_acme, p1_utils, pkix, stringprep, yconf, xmpp | ElixirApps]}, {mod, {ejabberd_app, []}}]}. %% Local Variables: %% mode: erlang %% End: %% vim: set filetype=erlang tabstop=8: