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. | 
