@ -190,7 +190,7 @@ load_apps(Apps) ->
load_apps ( proplists : get_value ( applications , Ks ) ) ;
_ - >
error % will be caught when starting the app
end | | App < - Apps ,
end | | App < - normalize_load_apps ( Apps ) ,
not lists : keymember ( App , 1 , application : loaded_applications ( ) ) ] ,
ok .
@ -209,7 +209,8 @@ boot_apps(Apps) ->
? WARN ( " The rebar3 shell is a development tool; to deploy "
" applications in production, consider using releases "
" (http://www.rebar3.org/v3.0/docs/releases) " , [ ] ) ,
Res = [ application : ensure_all_started ( App ) | | App < - Apps ] ,
Normalized = normalize_boot_apps ( Apps ) ,
Res = [ application : ensure_all_started ( App ) | | App < - Normalized ] ,
_ = [ ? INFO ( " Booted ~p " , [ App ] )
| | { ok , Booted } < - Res ,
App < - Booted ] ,
@ -217,6 +218,18 @@ boot_apps(Apps) ->
| | { error , { App , Reason } } < - Res ] ,
ok .
normalize_load_apps ( [ ] ) - > [ ] ;
normalize_load_apps ( [ { App , _ } | T ] ) - > [ App | normalize_load_apps ( T ) ] ;
normalize_load_apps ( [ { App , _ Vsn , load } | T ] ) - > [ App | normalize_load_apps ( T ) ] ;
normalize_load_apps ( [ App | T ] ) when is_atom ( App ) - > [ App | normalize_load_apps ( T ) ] .
normalize_boot_apps ( [ ] ) - > [ ] ;
normalize_boot_apps ( [ { _ App , load } | T ] ) - > normalize_boot_apps ( T ) ;
normalize_boot_apps ( [ { _ App , _ Vsn , load } | T ] ) - > 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 ) ] .
remove_error_handler ( 0 ) - >
? WARN ( " Unable to remove simple error_logger handler " , [ ] ) ;
remove_error_handler ( N ) - >