aboutsummaryrefslogtreecommitdiff
path: root/rel
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2016-01-07 14:10:54 +0100
committerPaweł Chmielowski <pchmielowski@process-one.net>2016-01-07 14:11:16 +0100
commit6d8263df15a8e6da6dda61117c4f3c0fadca77d0 (patch)
tree16d7c0170a84c7e1c75e4cf8c61e8a05be4d8de4 /rel
parentWe need to checkout elixir first when elixir enabled (diff)
Extract deps from rebar.config to use in reltool.config.script
Diffstat (limited to 'rel')
-rw-r--r--rel/reltool.config.script48
1 files changed, 25 insertions, 23 deletions
diff --git a/rel/reltool.config.script b/rel/reltool.config.script
index 6ebb3b3e8..bb664b67c 100644
--- a/rel/reltool.config.script
+++ b/rel/reltool.config.script
@@ -6,7 +6,30 @@
%%% @end
%%% Created : 8 May 2013 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%%-------------------------------------------------------------------
-Vars = case file:consult(filename:join(["..", "vars.config"])) of
+
+TopDir = filename:join(filename:dirname(SCRIPT), ".."),
+
+GetDeps = fun(Config, GetDepsFun) ->
+ case catch rebar_config:consult_file(Config) of
+ {ok, Data} ->
+ case lists:keyfind(deps, 1, Data) of
+ {deps, Deps} ->
+ lists:map(fun({Dep, _, _}) ->
+ [Dep, GetDepsFun(filename:join([TopDir,
+ "deps",
+ Dep,
+ "rebar.config"]),
+ GetDepsFun)]
+ end, Deps);
+ _ ->
+ []
+ end;
+ _ ->
+ []
+ end
+ end,
+
+Vars = case file:consult(filename:join([TopDir, "vars.config"])) of
{ok, Terms} ->
Terms;
_Err ->
@@ -28,28 +51,7 @@ ConfiguredOTPApps = lists:flatmap(
OTPApps = RequiredOTPApps ++ ConfiguredOTPApps,
-DepRequiredApps = [cache_tab, p1_tls, p1_stringprep, p1_xml, esip, p1_stun,
- p1_yaml, p1_utils, jiffy, oauth2, xmlrpc],
-
-
-DepConfiguredApp0 = lists:flatmap(
- fun({mysql, true}) -> [p1_mysql];
- ({pgsql, true}) -> [p1_pgsql];
- ({sqlite, true}) -> [sqlite3];
- ({pam, true}) -> [p1_pam];
- ({zlib, true}) -> [p1_zlib];
- ({riak, true}) -> [riakc, riak_pb, protobuffs, hamcrest, meck];
- ({elixir, true}) -> [elixir, rebar_elixir_plugin];
- ({iconv, true}) -> [p1_iconv];
- ({tools, true}) -> [meck];
- ({redis, true}) -> [eredis];
- ({lager, true}) -> [lager, goldrush];
- ({lager, false}) -> [p1_logger];
- (_) -> []
- end, Vars),
-
-DepConfiguredApps = lists:usort(fun(A, B) -> A >= B end, DepConfiguredApp0),
-DepApps = DepRequiredApps ++ DepConfiguredApps,
+DepApps = lists:usort(lists:flatten(GetDeps(filename:join(TopDir, "rebar.config"), GetDeps))),
Sys = [{lib_dirs, []},
{erts, [{mod_cond, derived}, {app_file, strip}]},