瀏覽代碼

add Render flag to 'file' template directive

{file,In,Out,true} = render with mustache
{file,In,Out,false} = do not render with mustache (leave as-is)

old-form {file,In,Out} is equivalent to {file,In,Out,true}
pull/3/head
Bryan Fink 15 年之前
父節點
當前提交
4c2dade0f4
共有 1 個文件被更改,包括 9 次插入2 次删除
  1. +9
    -2
      src/rebar_templater.erl

+ 9
- 2
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).

Loading…
取消
儲存