Procházet zdrojové kódy

Make sure to apply any file perms when doing a templated file

pull/3/head
Dave Smith před 15 roky
rodič
revize
127483f32b
1 změnil soubory, kde provedl 8 přidání a 1 odebrání
  1. +8
    -1
      src/rebar_reltool.erl

+ 8
- 1
src/rebar_reltool.erl Zobrazit soubor

@ -261,11 +261,13 @@ execute_overlay([{copy, In, Out} | Rest], Vars, BaseDir, TargetDir) ->
rebar_utils:sh(?FMT("cp -R ~p ~p", [InFile, OutFile]), []), rebar_utils:sh(?FMT("cp -R ~p ~p", [InFile, OutFile]), []),
execute_overlay(Rest, Vars, BaseDir, TargetDir); execute_overlay(Rest, Vars, BaseDir, TargetDir);
execute_overlay([{template, In, Out} | Rest], Vars, BaseDir, TargetDir) -> execute_overlay([{template, In, Out} | Rest], Vars, BaseDir, TargetDir) ->
{ok, InFileData} = file:read_file(render(filename:join(BaseDir, In), Vars)),
InFile = render(filename:join(BaseDir, In), Vars),
{ok, InFileData} = file:read_file(InFile),
OutFile = render(filename:join(TargetDir, Out), Vars), OutFile = render(filename:join(TargetDir, Out), Vars),
ok = filelib:ensure_dir(OutFile), ok = filelib:ensure_dir(OutFile),
case file:write_file(OutFile, render(InFileData, Vars)) of case file:write_file(OutFile, render(InFileData, Vars)) of
ok -> ok ->
ok = apply_file_info(InFile, OutFile),
?DEBUG("Templated ~p\n", [OutFile]), ?DEBUG("Templated ~p\n", [OutFile]),
execute_overlay(Rest, Vars, BaseDir, TargetDir); execute_overlay(Rest, Vars, BaseDir, TargetDir);
{error, Reason} -> {error, Reason} ->
@ -309,3 +311,8 @@ render(Bin, Context) ->
Str0 = re:replace(Bin, "\\\\", "\\\\\\", [global, {return, list}]), Str0 = re:replace(Bin, "\\\\", "\\\\\\", [global, {return, list}]),
Str1 = re:replace(Str0, "\"", "\\\\\"", [global, {return,list}]), Str1 = re:replace(Str0, "\"", "\\\\\"", [global, {return,list}]),
mustache:render(Str1, Context). mustache:render(Str1, Context).
apply_file_info(InFile, OutFile) ->
{ok, FileInfo} = file:read_file_info(InFile),
ok = file:write_file_info(OutFile, FileInfo).

Načítá se…
Zrušit
Uložit