diff options
author | Tristan Sloughter <[email protected]> | 2019-05-20 09:25:31 -0600 |
---|---|---|
committer | GitHub <[email protected]> | 2019-05-20 09:25:31 -0600 |
commit | 670a602f657eeb6ac17589407df8e43cf4d1be89 (patch) | |
tree | 097769798d2d6d00fe3e2ff8a17a04034bf52a8f /src/rlx_prv_overlay.erl | |
parent | d903c6e52fd7a28e5cee8d0459f0e2ee795f2c93 (diff) | |
parent | cca2a6cade4d97b5b36ca7c055d25677860bdc5d (diff) | |
download | relx-670a602f657eeb6ac17589407df8e43cf4d1be89.tar.gz relx-670a602f657eeb6ac17589407df8e43cf4d1be89.tar.bz2 relx-670a602f657eeb6ac17589407df8e43cf4d1be89.zip |
Merge branch 'master' into goals_option
Diffstat (limited to 'src/rlx_prv_overlay.erl')
-rw-r--r-- | src/rlx_prv_overlay.erl | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/rlx_prv_overlay.erl b/src/rlx_prv_overlay.erl index 645f691..516d238 100644 --- a/src/rlx_prv_overlay.erl +++ b/src/rlx_prv_overlay.erl @@ -145,7 +145,8 @@ get_overlay_vars_from_file(State, OverlayVars) -> OverlayVars; [] -> OverlayVars; - [H | _]=FileNames when is_list(H) -> + [H | _]=FileNames when is_list(H) ; + is_tuple(H) -> read_overlay_vars(State, OverlayVars, FileNames); FileName when is_list(FileName) -> read_overlay_vars(State, OverlayVars, [FileName]) @@ -181,30 +182,24 @@ check_overlay_inclusion(_State, _RelativeRoot, [], Terms) -> proplists:proplist(). merge_overlay_vars(State, FileNames) -> RelativeRoot = get_relative_root(State), - lists:foldl(fun(FileName, Acc) -> - RelativePath = filename:join(RelativeRoot, erlang:iolist_to_binary(FileName)), + lists:foldl(fun(FileName, Acc) when is_list(FileName) -> + RelativePath = filename:join(RelativeRoot, iolist_to_binary(FileName)), case file:consult(RelativePath) of - %% {ok, [Terms]} -> - %% lists:ukeymerge(1, lists:ukeysort(1, Terms), Acc); - %% % the location of the included overlay files will be relative - %% %% to the current one being read - %% %% OverlayRelativeRoot = filename:dirname(FileName), - %% %% NewTerms = check_overlay_inclusion(State, OverlayRelativeRoot, Terms), - - %% %% lists:ukeymerge(1, lists:ukeysort(1, NewTerms), Acc); {ok, Terms} -> %% the location of the included overlay files will be relative %% to the current one being read OverlayRelativeRoot = filename:dirname(FileName), NewTerms = check_overlay_inclusion(State, OverlayRelativeRoot, Terms), lists:foldl(fun(NewTerm, A) -> - lists:keystore(element(1, NewTerm), 1, A, NewTerm) + lists:keystore(element(1, NewTerm), 1, A, NewTerm) end, Acc, NewTerms); {error, Reason} -> ec_cmd_log:warn(rlx_state:log(State), format_error({unable_to_read_varsfile, FileName, Reason})), Acc - end + end; + (Var, Acc) -> + lists:keystore(element(1, Var), 1, Acc, Var) end, [], FileNames). -spec render_overlay_vars(proplists:proplist(), proplists:proplist(), |