diff --git a/src/rebar_plugins.erl b/src/rebar_plugins.erl index 2a78c6eb..43b33db8 100644 --- a/src/rebar_plugins.erl +++ b/src/rebar_plugins.erl @@ -131,7 +131,7 @@ handle_plugin(Profile, Plugin, State, Upgrade) -> catch ?WITH_STACKTRACE(C,T,S) ?DEBUG("~p ~p ~p", [C, T, S]), - ?WARN("Plugin ~p not available. It will not be used.", [Plugin]), + ?WARN("Errors loading plugin ~p. Run rebar3 with DEBUG=1 set to see errors.", [Plugin]), {[], State} end. diff --git a/src/rebar_prv_shell.erl b/src/rebar_prv_shell.erl index 434302b2..fbfc6a4f 100644 --- a/src/rebar_prv_shell.erl +++ b/src/rebar_prv_shell.erl @@ -104,6 +104,8 @@ do(Config) -> {ok, Config}. -spec format_error(any()) -> iolist(). +format_error({unknown_app, Unknown}) -> + io_lib:format("Applications list for shell contains an unrecognizable application definition: ~p", [Unknown]); format_error(Reason) -> io_lib:format("~p", [Reason]). @@ -457,7 +459,9 @@ normalize_load_apps([{App, _Vsn, load} | T]) -> [App | normalize_load_apps(T)]; normalize_load_apps([{_App, _Vsn, none} | T]) -> normalize_load_apps(T); normalize_load_apps([{App, _Vsn, Operator} | T]) when is_atom(Operator) -> [App | normalize_load_apps(T)]; -normalize_load_apps([App | T]) when is_atom(App) -> [App | normalize_load_apps(T)]. +normalize_load_apps([App | T]) when is_atom(App) -> [App | normalize_load_apps(T)]; +normalize_load_apps([Unknown | _]) -> + erlang:error(?PRV_ERROR({unknown_app, Unknown})). normalize_boot_apps([]) -> []; normalize_boot_apps([{_App, load} | T]) -> normalize_boot_apps(T); @@ -467,7 +471,9 @@ normalize_boot_apps([{_App, _Vsn, none} | T]) -> normalize_boot_apps(T); normalize_boot_apps([{App, _Vsn, Operator} | T]) when is_atom(Operator) -> [App | normalize_boot_apps(T)]; normalize_boot_apps([{App, _Vsn} | T]) -> [App | normalize_boot_apps(T)]; -normalize_boot_apps([App | T]) when is_atom(App) -> [App | normalize_boot_apps(T)]. +normalize_boot_apps([App | T]) when is_atom(App) -> [App | normalize_boot_apps(T)]; +normalize_boot_apps([Unknown | _]) -> + erlang:error(?PRV_ERROR({unknown_app, Unknown})). remove_error_handler(0) -> ?WARN("Unable to remove simple error_logger handler", []);