diff options
author | Jordan Wilberding <[email protected]> | 2015-01-31 16:24:06 -0800 |
---|---|---|
committer | Jordan Wilberding <[email protected]> | 2015-01-31 16:24:06 -0800 |
commit | 5a0d655eb52b45a8d382d6b75b1061e3025614ed (patch) | |
tree | 6b5e7e30af04d482490f564024e8027cec99b88f /src/rlx_app_discovery.erl | |
parent | 3a6b64302bd05441b942da56f5f5deed9b0c58b0 (diff) | |
parent | 292eea4c105adb03e0745468db6bb4948e6df98d (diff) | |
download | relx-5a0d655eb52b45a8d382d6b75b1061e3025614ed.tar.gz relx-5a0d655eb52b45a8d382d6b75b1061e3025614ed.tar.bz2 relx-5a0d655eb52b45a8d382d6b75b1061e3025614ed.zip |
Merge pull request #307 from tsloughter/master
Mainly exclude_apps
Diffstat (limited to 'src/rlx_app_discovery.erl')
-rw-r--r-- | src/rlx_app_discovery.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rlx_app_discovery.erl b/src/rlx_app_discovery.erl index 6ac8d11..3d58185 100644 --- a/src/rlx_app_discovery.erl +++ b/src/rlx_app_discovery.erl @@ -118,8 +118,10 @@ resolve_app_metadata(State, LibDirs) -> end] of [] -> SkipApps = rlx_state:skip_apps(State), - AppMeta1 = [App || {ok, App} <- setup_overrides(State, AppMeta0), - not lists:keymember(rlx_app_info:name(App), 1, SkipApps)], + ExcludeApps = rlx_state:exclude_apps(State), + AppMeta1 = [rm_exclude_apps(App, ExcludeApps) || + {ok, App} <- setup_overrides(State, AppMeta0), + not lists:keymember(rlx_app_info:name(App), 1, SkipApps++ExcludeApps)], ec_cmd_log:debug(rlx_state:log(State), fun() -> ["Resolved the following OTP Applications from the system: \n", @@ -129,6 +131,11 @@ resolve_app_metadata(State, LibDirs) -> Errors -> ?RLX_ERROR(Errors) end. +%% Apps listed in {exclude_apps, [...]} must be removed from applications lists +rm_exclude_apps(App, ExcludeApps) -> + ActiveApps = lists:subtract(rlx_app_info:active_deps(App), ExcludeApps), + LibraryApps = lists:subtract(rlx_app_info:library_deps(App), ExcludeApps), + rlx_app_info:library_deps(rlx_app_info:active_deps(App, ActiveApps), LibraryApps). app_name({warning, _}) -> undefined; |