mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 11:06:20 +00:00
Fix comments and formatting
This commit is contained in:
parent
17616d1078
commit
c373f29292
2 changed files with 13 additions and 9 deletions
|
@ -300,23 +300,27 @@ expand_vars_loop([], Recurse, Vars, Count) ->
|
||||||
expand_vars_loop(Recurse, [], Vars, Count-1);
|
expand_vars_loop(Recurse, [], Vars, Count-1);
|
||||||
expand_vars_loop([{K, V} | Rest], Recurse, Vars, Count) ->
|
expand_vars_loop([{K, V} | Rest], Recurse, Vars, Count) ->
|
||||||
%% Identify the variables that need expansion in this value
|
%% Identify the variables that need expansion in this value
|
||||||
case re:run(V, "\\\${?(\\w+)}?", [global, {capture, all_but_first, list}]) of
|
ReOpts = [global, {capture, all_but_first, list}],
|
||||||
|
case re:run(V, "\\\${?(\\w+)}?", ReOpts) of
|
||||||
{match, Matches} ->
|
{match, Matches} ->
|
||||||
%% Identify the unique variables that need to be expanded
|
%% Identify the unique variables that need to be expanded
|
||||||
UniqueMatches = lists:usort([M || [M] <- Matches]),
|
UniqueMatches = lists:usort([M || [M] <- Matches]),
|
||||||
|
|
||||||
%% For each variable, expand it and return the final value. Note that
|
%% For each variable, expand it and return the final
|
||||||
%% if we have a bunch of unresolvable variables, nothing happens and
|
%% value. Note that if we have a bunch of unresolvable
|
||||||
%% we don't bother attempting further expansion
|
%% variables, nothing happens and we don't bother
|
||||||
|
%% attempting further expansion
|
||||||
case expand_keys_in_value(UniqueMatches, V, Vars) of
|
case expand_keys_in_value(UniqueMatches, V, Vars) of
|
||||||
V ->
|
V ->
|
||||||
%% No change after expansion; move along
|
%% No change after expansion; move along
|
||||||
expand_vars_loop(Rest, Recurse, Vars, Count);
|
expand_vars_loop(Rest, Recurse, Vars, Count);
|
||||||
Expanded ->
|
Expanded ->
|
||||||
%% Some expansion occurred; move to next k/v but revist
|
%% Some expansion occurred; move to next k/v but
|
||||||
%% this value in the next loop to check for further expansion
|
%% revisit this value in the next loop to check
|
||||||
|
%% for further expansion
|
||||||
NewVars = dict:store(K, Expanded, Vars),
|
NewVars = dict:store(K, Expanded, Vars),
|
||||||
expand_vars_loop(Rest, [{K, Expanded} | Recurse], NewVars, Count)
|
expand_vars_loop(Rest, [{K, Expanded} | Recurse],
|
||||||
|
NewVars, Count)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
nomatch ->
|
nomatch ->
|
||||||
|
|
|
@ -191,11 +191,11 @@ expand_env_variable(InStr, VarName, RawVarValue) ->
|
||||||
%% No variables to expand
|
%% No variables to expand
|
||||||
InStr;
|
InStr;
|
||||||
_ ->
|
_ ->
|
||||||
ReOpts = [global, {return, list}],
|
|
||||||
VarValue = re:replace(RawVarValue, "\\\\", "\\\\\\\\", [global]),
|
VarValue = re:replace(RawVarValue, "\\\\", "\\\\\\\\", [global]),
|
||||||
%% Use a regex to match/replace:
|
%% Use a regex to match/replace:
|
||||||
%% $FOO\s | ${FOO} | $FOO eol
|
%% Given variable "FOO": match $FOO\s | $FOOeol | ${FOO}
|
||||||
RegEx = io_lib:format("\\\$(~s(\\s|$)|{~s})", [VarName, VarName]),
|
RegEx = io_lib:format("\\\$(~s(\\s|$)|{~s})", [VarName, VarName]),
|
||||||
|
ReOpts = [global, {return, list}],
|
||||||
re:replace(InStr, RegEx, VarValue ++ "\\2", ReOpts)
|
re:replace(InStr, RegEx, VarValue ++ "\\2", ReOpts)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue