diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rebar_app_discover.erl | 11 | ||||
| -rw-r--r-- | src/rebar_prv_app_discovery.erl | 2 | 
2 files changed, 10 insertions, 3 deletions
diff --git a/src/rebar_app_discover.erl b/src/rebar_app_discover.erl index 0b7eeb1..0c15bb2 100644 --- a/src/rebar_app_discover.erl +++ b/src/rebar_app_discover.erl @@ -87,7 +87,9 @@ format_error({module_list, File}) ->  format_error({missing_module, Module}) ->      io_lib:format("Module defined in app file missing: ~p~n", [Module]);  format_error({cannot_read_app_file, AppFile}) -> -    io_lib:format("Cannot read app file: ~p~n", [AppFile]). +    io_lib:format("Cannot read app file: ~p~n", [AppFile]); +format_error({bad_term_file, _File, _Reason} = Error) -> +    rebar_file_utils:format_error(Error).  %% @doc merges configuration of a project app and the top level state @@ -351,7 +353,7 @@ app_dir(AppFile) ->  %% app file.  -spec create_app_info(rebar_app_info:t(), file:name(), file:name()) -> rebar_app_info:t().  create_app_info(AppInfo, AppDir, AppFile) -> -    case rebar_config:consult_app_file(AppFile) of +    try rebar_config:consult_app_file(AppFile) of          [{application, AppName, AppDetails}] ->              AppVsn = proplists:get_value(vsn, AppDetails),              Applications = proplists:get_value(applications, AppDetails, []), @@ -370,8 +372,11 @@ create_app_info(AppInfo, AppDir, AppFile) ->                              false                      end,              rebar_app_info:dir(rebar_app_info:valid(AppInfo2, Valid), AppDir); -        [] -> +        _Invalid ->              throw({error, {?MODULE, {cannot_read_app_file, AppFile}}}) +    catch +        throw:{error, {rebar_file_utils, Err = {bad_term_file, _File, _Reason}}} -> +            throw({error, {?MODULE, Err}}) % wrap this      end.  %% @doc Read in and parse the .app file if it is availabe. Do the same for diff --git a/src/rebar_prv_app_discovery.erl b/src/rebar_prv_app_discovery.erl index f5bab49..20b7f90 100644 --- a/src/rebar_prv_app_discovery.erl +++ b/src/rebar_prv_app_discovery.erl @@ -43,6 +43,8 @@ do(State) ->              {error, {rebar_packages, Error}};          throw:{error, {rebar_app_utils, Error}} ->              {error, {rebar_app_utils, Error}}; +        throw:{error, {rebar_app_discover, Error}} -> +            {error, {rebar_app_discover, Error}};          throw:{error, Error} ->              ?PRV_ERROR(Error)      end.  | 
