diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2016-01-17 06:25:04 -0500 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2016-01-17 06:25:04 -0500 |
commit | 50307a6aa995437228cc5c98f4270e95efb90a3f (patch) | |
tree | 8a476b53f5cb61576bf9a08afd16c6e5e7907eb1 /src | |
parent | c8e0b1c5ce1b434850d34e50945f724c25e7df1b (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.erl | 9 |
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. |