From c28a16258cec1fac8471793b33f4183fa8f07df1 Mon Sep 17 00:00:00 2001 From: Dave Smith Date: Wed, 28 Apr 2010 13:02:51 -0600 Subject: [PATCH] Add caching of app file --- src/rebar_app_utils.erl | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/rebar_app_utils.erl b/src/rebar_app_utils.erl index 7f48ffd..744af4c 100644 --- a/src/rebar_app_utils.erl +++ b/src/rebar_app_utils.erl @@ -85,11 +85,17 @@ app_vsn(AppFile) -> %% =================================================================== load_app_file(Filename) -> - case file:consult(Filename) of - {ok, [{application, AppName, AppData}]} -> - {ok, AppName, AppData}; - {error, Reason} -> - {error, Reason}; - Other -> - {error, {unexpected_terms, Other}} + case erlang:get({app_file, Filename}) of + undefined -> + case file:consult(Filename) of + {ok, [{application, AppName, AppData}]} -> + erlang:put({app_file, Filename}, {AppName, AppData}), + {ok, AppName, AppData}; + {error, Reason} -> + {error, Reason}; + Other -> + {error, {unexpected_terms, Other}} + end; + {AppName, AppData} -> + {ok, AppName, AppData} end.