summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar_templater.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rebar_templater.erl b/src/rebar_templater.erl
index 8e07694..7a21e7d 100644
--- a/src/rebar_templater.erl
+++ b/src/rebar_templater.erl
@@ -219,7 +219,7 @@ execute_template([], _TemplateType, _TemplateName, _Context, _Force, ExistingFil
Help = "To force overwriting, specify force=1 on the command line.\n",
?ERROR("One or more files already exist on disk and were not generated:~n~s~s", [Msg , Help])
end;
-execute_template([{file, Input, Output} | Rest], TemplateType, TemplateName, Context, Force, ExistingFiles) ->
+execute_template([{file, Input, Output, Render} | Rest], TemplateType, TemplateName, Context, Force, ExistingFiles) ->
% determine if the target file already exists
FileExists = filelib:is_file(Output),
@@ -234,7 +234,10 @@ execute_template([{file, Input, Output} | Rest], TemplateType, TemplateName, Con
true ->
?CONSOLE("Writing ~s~n", [Output])
end,
- case file:write_file(Output, render(load_file(TemplateType, InputName), Context)) of
+ Rendered = if Render -> render(load_file(TemplateType, InputName), Context);
+ true -> load_file(TemplateType, InputName)
+ end,
+ case file:write_file(Output, Rendered) of
ok ->
execute_template(Rest, TemplateType, TemplateName, Context, Force, ExistingFiles);
{error, Reason} ->
@@ -253,6 +256,10 @@ execute_template([{dir, Name} | Rest], TemplateType, TemplateName, Context, Forc
end;
execute_template([{variables, _} | Rest], TemplateType, TemplateName, Context, Force, ExistingFiles) ->
execute_template(Rest, TemplateType, TemplateName, Context, Force, ExistingFiles);
+execute_template([{file, Input, Output} | Rest], TemplateType, TemplateName, Context, Force, ExistingFiles) ->
+ %% old short-form of {file,_,_} is same as
+ %% new long-form of {file,_,_,true}
+ execute_template([{file, Input, Output, true}|Rest], TemplateType, TemplateName, Context, Force, ExistingFiles);
execute_template([Other | Rest], TemplateType, TemplateName, Context, Force, ExistingFiles) ->
?WARN("Skipping unknown template instruction: ~p\n", [Other]),
execute_template(Rest, TemplateType, TemplateName, Context, Force, ExistingFiles).