aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/relx.config2
-rw-r--r--src/rlx_config.erl3
2 files changed, 4 insertions, 1 deletions
diff --git a/examples/relx.config b/examples/relx.config
index b19042b..3622d01 100644
--- a/examples/relx.config
+++ b/examples/relx.config
@@ -45,7 +45,7 @@
%% When we have multiple releases relx needs to know which one to build. You
%% can specify that on the command line with the `-n` and `-v` arguments to
%% relx. However, it is often more convenient to do it in the config.
-{default_release, sexpr, "0.0.2"}.
+{default_release, {sexpr, "0.0.2"}}.
{release, {sexpr, "0.0.1"},
[sexpr,
diff --git a/src/rlx_config.erl b/src/rlx_config.erl
index b341ae7..4160bba 100644
--- a/src/rlx_config.erl
+++ b/src/rlx_config.erl
@@ -339,6 +339,9 @@ merge_configs([{Key, Value} | CliTerms], ConfigTerms) ->
false ->
merge_configs(CliTerms, ConfigTerms++[{Key, Value}])
end;
+ default_release when Value =:= {undefined, undefined} ->
+ %% No release specified in cli. Prevent overwriting default_release in ConfigTerms.
+ merge_configs(CliTerms, lists:keymerge(1, ConfigTerms, [{Key, Value}]));
_ ->
merge_configs(CliTerms, lists:reverse(lists:keystore(Key, 1, lists:reverse(ConfigTerms), {Key, Value})))
end.