summaryrefslogtreecommitdiff
path: root/src/rebar_file_utils.erl
diff options
context:
space:
mode:
authorAlexander Sedov <asedov@platbox.com>2016-10-11 10:36:12 +0300
committerAlexander Sedov <asedov@platbox.com>2016-10-11 10:40:30 +0300
commit0afb4c4d477b1c1fba54ad3ef086d0697a5faeaa (patch)
treee80c4512c3fd4e4afd7e2c0274efd079a853b308 /src/rebar_file_utils.erl
parent6e9503c4f0232d6e8152b56a7037f22843e53959 (diff)
Made reading sys.configs consistent with OTP specification.
Diffstat (limited to 'src/rebar_file_utils.erl')
-rw-r--r--src/rebar_file_utils.erl13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/rebar_file_utils.erl b/src/rebar_file_utils.erl
index 437780d..28cc516 100644
--- a/src/rebar_file_utils.erl
+++ b/src/rebar_file_utils.erl
@@ -72,11 +72,14 @@ consult_config(State, Filename) ->
[T] -> T;
[] -> []
end,
- SubConfigs = [consult_config(State, Entry ++ ".config") ||
- Entry <- Config, is_list(Entry)
- ],
-
- [Config | lists:merge(SubConfigs)].
+ lists:flatmap(
+ fun (SubConfig) when is_list(SubConfig) ->
+ case consult_config(State, SubConfig) of
+ [] -> consult_config(State, SubConfig ++ ".config");
+ X -> X
+ end;
+ (Entry) -> [Entry]
+ end, Config).
format_error({bad_term_file, AppFile, Reason}) ->
io_lib:format("Error reading file ~s: ~s", [AppFile, file:format_error(Reason)]).