mirror of
https://github.com/correl/rebar.git
synced 2024-11-27 11:09:55 +00:00
Do not rewrite .app file if it didn't change
This commit is contained in:
parent
ca8d7cc95d
commit
f2f294d812
2 changed files with 14 additions and 2 deletions
|
@ -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
|
||||
%% ===================================================================
|
||||
|
|
|
@ -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…
Reference in a new issue