diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2017-10-04 16:17:02 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2017-10-04 16:17:02 -0400 |
commit | 1ef0ed5b2d1fa289575152bb001e6dd3beb963ee (patch) | |
tree | 0981d009ebe2638dd278a8fb446b567efff3bc82 | |
parent | 0d339db49ad1a3b8410f2619e0796ee8845c30fb (diff) |
Normalize return values of app_info data
The parsing functions were used inconsistently, and the returned values
were bad in some clauses; things only worked because they are never used
within rebar3. This ensures the return types are consistent on all
clauses.
-rw-r--r-- | src/rebar_app_info.erl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/rebar_app_info.erl b/src/rebar_app_info.erl index 050ccc1..de497d5 100644 --- a/src/rebar_app_info.erl +++ b/src/rebar_app_info.erl @@ -311,15 +311,22 @@ app_file(AppInfo=#app_info_t{}, AppFile) -> app_details(AppInfo=#app_info_t{app_details=[]}) -> case app_file(AppInfo) of undefined -> - rebar_file_utils:try_consult(app_file_src(AppInfo)); + case rebar_config:consult_app_file(app_file_src(AppInfo)) of + [] -> []; + [{application, _Name, AppDetails}] -> AppDetails + end; AppFile -> - try - rebar_file_utils:try_consult(AppFile) + try rebar_file_utils:try_consult(AppFile) of + [] -> []; + [{application, _Name, AppDetails}] -> AppDetails catch throw:{error, {Module, Reason}} -> ?DEBUG("Warning, falling back to .app.src because of: ~ts", [Module:format_error(Reason)]), - rebar_file_utils:try_consult(app_file_src(AppInfo)) + case rebar_config:consult_app_file(app_file_src(AppInfo)) of + [] -> []; + [{application, _Name, AppDetails}] -> AppDetails + end end end; app_details(#app_info_t{app_details=AppDetails}) -> |