Browse Source

Do not rewrite .app file if it didn't change

pull/3/head
Lev Walkin 13 years ago
committed by Tuncer Ayaz
parent
commit
f2f294d812
2 changed files with 14 additions and 2 deletions
  1. +13
    -1
      src/rebar_file_utils.erl
  2. +1
    -1
      src/rebar_otp_app.erl

+ 13
- 1
src/rebar_file_utils.erl View File

@ -29,7 +29,8 @@
-export([rm_rf/1,
cp_r/2,
mv/2,
delete_each/1]).
delete_each/1,
write_file_if_contents_differ/2]).
-include("rebar.hrl").
@ -111,6 +112,17 @@ delete_each([File | Rest]) ->
?FAIL
end.
write_file_if_contents_differ(Filename, Bytes) ->
ToWrite = iolist_to_binary(Bytes),
case file:read_file(Filename) of
{ok, ToWrite} ->
ok;
{ok, _} ->
file:write_file(Filename, ToWrite);
{error, _} ->
file:write_file(Filename, ToWrite)
end.
%% ===================================================================
%% Internal functions
%% ===================================================================

+ 1
- 1
src/rebar_otp_app.erl View File

@ -106,7 +106,7 @@ preprocess(Config, AppSrcFile) ->
%% Setup file .app filename and write new contents
AppFile = rebar_app_utils:app_src_to_app(AppSrcFile),
ok = file:write_file(AppFile, Spec),
ok = rebar_file_utils:write_file_if_contents_differ(AppFile, Spec),
%% Make certain that the ebin/ directory is available
%% on the code path

Loading…
Cancel
Save