summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFred Hebert <mononcqc@ferd.ca>2016-01-17 06:25:04 -0500
committerFred Hebert <mononcqc@ferd.ca>2016-01-17 06:25:04 -0500
commit50307a6aa995437228cc5c98f4270e95efb90a3f (patch)
tree8a476b53f5cb61576bf9a08afd16c6e5e7907eb1 /src
parentc8e0b1c5ce1b434850d34e50945f724c25e7df1b (diff)
Display error message when bad config is loaded
If a bad configuration file is submitted to rebar3 shell, display the following error: ===> The configuration file submitted could not be read and will be ignored. And keep going otherwise rather than silently failing. While crash-fast is usually a good mechanism, the shell so far is very tolerant of failures from apps to boot and whatnot, so this feels appropriate. Fixes #1019
Diffstat (limited to 'src')
-rw-r--r--src/rebar_prv_shell.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/rebar_prv_shell.erl b/src/rebar_prv_shell.erl
index 824293f..ea759fc 100644
--- a/src/rebar_prv_shell.erl
+++ b/src/rebar_prv_shell.erl
@@ -325,9 +325,14 @@ reread_config(State) ->
no_config ->
ok;
ConfigList ->
- _ = [application:set_env(Application, Key, Val)
+ try
+ [application:set_env(Application, Key, Val)
|| {Application, Items} <- ConfigList,
- {Key, Val} <- Items],
+ {Key, Val} <- Items]
+ catch _:_ ->
+ ?ERROR("The configuration file submitted could not be read "
+ "and will be ignored.", [])
+ end,
ok
end.