summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--plugins/configure_deps.erl5
-rw-r--r--plugins/override_opts.erl6
-rw-r--r--rebar.config3
-rw-r--r--rebar.config.script4
5 files changed, 13 insertions, 6 deletions
diff --git a/Makefile.in b/Makefile.in
index fa2c3fd3..c4e31bee 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -97,6 +97,7 @@ deps/.got:
$(REBAR) get-deps && :> deps/.got
deps/.built: deps/.got
+ $(REBAR) recursive-deps
$(REBAR) compile && :> deps/.built
src: deps/.built
diff --git a/plugins/configure_deps.erl b/plugins/configure_deps.erl
new file mode 100644
index 00000000..181da0b0
--- /dev/null
+++ b/plugins/configure_deps.erl
@@ -0,0 +1,5 @@
+-module(configure_deps).
+-export(['configure-deps'/2]).
+
+'configure-deps'(Config, Vals) ->
+ {ok, Config}.
diff --git a/plugins/override_opts.erl b/plugins/override_opts.erl
index df875c55..1d321fc8 100644
--- a/plugins/override_opts.erl
+++ b/plugins/override_opts.erl
@@ -2,13 +2,13 @@
-export([preprocess/2]).
override_opts(override, Config, Opts) ->
- lists:foldl(fun({Opt, [Value]}, Conf) ->
+ lists:foldl(fun({Opt, Value}, Conf) ->
rebar_config:set(Conf, Opt, Value)
end, Config, Opts);
override_opts(add, Config, Opts) ->
- lists:foldl(fun({Opt, [Value]}, Conf) ->
+ lists:foldl(fun({Opt, Value}, Conf) ->
V = rebar_config:get_local(Conf, Opt, []),
- rebar_config:set(Conf, Opt, [Value | V])
+ rebar_config:set(Conf, Opt, V ++ Value)
end, Config, Opts).
preprocess(Config, _Dirs) ->
diff --git a/rebar.config b/rebar.config
index 0b40ade5..3bce1bf0 100644
--- a/rebar.config
+++ b/rebar.config
@@ -111,7 +111,7 @@
{if_rebar3, {plugins, [rebar3_hex, {provider_asn1, "0.2.0"}]}}.
{if_not_rebar3, {plugins, [
- deps_erl_opts, override_deps_versions, override_opts,
+ deps_erl_opts, override_deps_versions, override_opts, configure_deps,
{if_var_true, elixir, rebar_elixir_compiler},
{if_var_true, elixir, rebar_exunit}
]}}.
@@ -153,6 +153,7 @@
{if_version_above, "17", {cover_enabled, true}}.
{cover_export_enabled, true}.
+{recursive_cmds, ['configure-deps']}.
{post_hook_configure, [{"fast_tls", []},
{"stringprep", []},
diff --git a/rebar.config.script b/rebar.config.script
index b8eeaeb1..ed024f4a 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -298,8 +298,8 @@ GenDepsConfigure =
fun(Hooks) ->
lists:map(fun({Pkg, Flags}) ->
DepPath = ResolveDepPath("deps/" ++ Pkg ++ "/"),
- {add, list_to_atom(Pkg), [{pre_hooks, [{'compile',
- lists:flatten(GenDepConfigureLine(DepPath, Flags))}]}]}
+ Line = lists:flatten(GenDepConfigureLine(DepPath, Flags)),
+ {add, list_to_atom(Pkg), [{pre_hooks, [{'compile', Line}, {'configure-deps', Line}]}]}
end, Hooks)
end,