aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlx_prv_config.erl
diff options
context:
space:
mode:
authorJordan Wilberding <[email protected]>2013-10-19 06:07:23 -0700
committerJordan Wilberding <[email protected]>2013-10-19 06:07:23 -0700
commit794242f1314aaa8b06c9c9a87669d0560e3b4b84 (patch)
tree8ac79556e7d2f484ae0a3d5f47fef7651b711435 /src/rlx_prv_config.erl
parente149dfd360e313a9c0b0d2301b49d6137e0b40e6 (diff)
parenta19a0cd5efbce527f5ada3885161951d1ca2b5b8 (diff)
downloadrelx-794242f1314aaa8b06c9c9a87669d0560e3b4b84.tar.gz
relx-794242f1314aaa8b06c9c9a87669d0560e3b4b84.tar.bz2
relx-794242f1314aaa8b06c9c9a87669d0560e3b4b84.zip
Merge pull request #79 from tsloughter/master
add extend to release definition. This closes #16
Diffstat (limited to 'src/rlx_prv_config.erl')
-rw-r--r--src/rlx_prv_config.erl12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rlx_prv_config.erl b/src/rlx_prv_config.erl
index 126b497..e2eac7e 100644
--- a/src/rlx_prv_config.erl
+++ b/src/rlx_prv_config.erl
@@ -156,6 +156,18 @@ load_terms({dev_mode, DevMode}, {ok, State0}) ->
{ok, rlx_state:dev_mode(State0, DevMode)};
load_terms({include_src, IncludeSrc}, {ok, State0}) ->
{ok, rlx_state:include_src(State0, IncludeSrc)};
+load_terms({release, {RelName, Vsn, {extend, RelName2}}, Applications}, {ok, State0}) ->
+ Release0 = rlx_release:new(RelName, Vsn),
+ ExtendRelease = rlx_state:get_configured_release(State0, RelName2, Vsn),
+ Applications1 = rlx_release:goals(ExtendRelease),
+ case rlx_release:goals(Release0,
+ lists:umerge(lists:usort(Applications),
+ lists:usort(Applications1))) of
+ E={error, _} ->
+ E;
+ {ok, Release1} ->
+ {ok, rlx_state:add_configured_release(State0, Release1)}
+ end;
load_terms({release, {RelName, Vsn}, Applications}, {ok, State0}) ->
Release0 = rlx_release:new(RelName, Vsn),
case rlx_release:goals(Release0, Applications) of