diff options
author | Tristan Sloughter <[email protected]> | 2014-12-13 14:48:41 -0600 |
---|---|---|
committer | Tristan Sloughter <[email protected]> | 2014-12-13 14:53:16 -0600 |
commit | c131510aa4804d7d6bf2ffb44fdd1e1e5ded9b5a (patch) | |
tree | 6b08fb84bc4e78e99eca3891308f7f284ae385ec /src/rlx_prv_archive.erl | |
parent | abba53cc41747654b50a1eff355172d98d228f77 (diff) | |
download | relx-c131510aa4804d7d6bf2ffb44fdd1e1e5ded9b5a.tar.gz relx-c131510aa4804d7d6bf2ffb44fdd1e1e5ded9b5a.tar.bz2 relx-c131510aa4804d7d6bf2ffb44fdd1e1e5ded9b5a.zip |
render overlay filenames for tar archive
Diffstat (limited to 'src/rlx_prv_archive.erl')
-rw-r--r-- | src/rlx_prv_archive.erl | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/rlx_prv_archive.erl b/src/rlx_prv_archive.erl index 8ec7973..0532dc5 100644 --- a/src/rlx_prv_archive.erl +++ b/src/rlx_prv_archive.erl @@ -104,10 +104,13 @@ make_tar(State, Release, OutputDir) -> end. update_tar(State, TempDir, OutputDir, Name, Vsn, ErtsVersion) -> + {RelName, RelVsn} = rlx_state:default_configured_release(State), + Release = rlx_state:get_realized_release(State, RelName, RelVsn), TarFile = filename:join(OutputDir, Name++"-"++Vsn++".tar.gz"), file:rename(filename:join(OutputDir, Name++".tar.gz"), TarFile), erl_tar:extract(TarFile, [{cwd, TempDir}, compressed]), - OverlayFiles = overlay_files(rlx_state:get(State, overlay, undefined), OutputDir), + OverlayVars = rlx_prv_overlay:generate_overlay_vars(State, Release), + OverlayFiles = overlay_files(OverlayVars, rlx_state:get(State, overlay, undefined), OutputDir), ok = erl_tar:create(TarFile, [{"lib", filename:join(TempDir, "lib")}, @@ -130,10 +133,15 @@ update_tar(State, TempDir, OutputDir, Name, Vsn, ErtsVersion) -> ec_file:remove(TempDir, [recursive]), {ok, State}. -overlay_files(undefined, _) -> +overlay_files(_, undefined, _) -> []; -overlay_files(Overlay, OutputDir) -> - [{to(O), filename:join(OutputDir, to(O))} || O <- Overlay, filter(O)]. +overlay_files(OverlayVars, Overlay, OutputDir) -> + [begin + To = to(O), + ToTemplateName = rlx_prv_overlay:make_template_name("rlx_template_to_template", To), + File = rlx_prv_overlay:render_string(OverlayVars, To, ToTemplateName), + {ec_cnv:to_list(File), ec_cnv:to_list(filename:join(OutputDir, File))} + end || O <- Overlay, filter(O)]. to({copy, _, To}) -> To; |