diff options
author | Luis Rascao <[email protected]> | 2016-11-20 22:19:08 +0000 |
---|---|---|
committer | Luis Rascao <[email protected]> | 2016-11-21 00:24:37 +0000 |
commit | 81369d99a9b6ee5caae6b5e6a5faffb8a65fb588 (patch) | |
tree | 8b3e2acce5896f977bd264fb1cf66a9ffe6e6fd6 /src/rlx_state.erl | |
parent | c305c89713abf48570e2db152b367f00ac641893 (diff) | |
download | relx-81369d99a9b6ee5caae6b5e6a5faffb8a65fb588.tar.gz relx-81369d99a9b6ee5caae6b5e6a5faffb8a65fb588.tar.bz2 relx-81369d99a9b6ee5caae6b5e6a5faffb8a65fb588.zip |
Provide a new config directive that allows per-app module exclusion
By introducing a new entry in the config file allow excluding
specific modules from a given app, they will not be copied
onto the final release and their reference removed from
the .app file. The new entry takes on the following form:
{exclude_modules, [
{App :: atom(), [Module :: atom()]}
]}
Diffstat (limited to 'src/rlx_state.erl')
-rw-r--r-- | src/rlx_state.erl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rlx_state.erl b/src/rlx_state.erl index 6974d52..75a5cba 100644 --- a/src/rlx_state.erl +++ b/src/rlx_state.erl @@ -82,7 +82,9 @@ upfrom/1, upfrom/2, format/1, - format/2]). + format/2, + exclude_modules/1, + exclude_modules/2]). -export_type([t/0, @@ -107,6 +109,7 @@ overrides=[] :: [{AppName::atom(), Directory::file:filename()}], skip_apps=[] :: [AppName::atom()], exclude_apps=[] :: [AppName::atom()], + exclude_modules=[] :: [{App::atom(), [Module::atom()]}], debug_info=keep :: keep | strip, configured_releases :: releases(), realized_releases :: releases(), @@ -200,6 +203,15 @@ exclude_apps(#state_t{exclude_apps=Apps}) -> exclude_apps(State, SkipApps) -> State#state_t{exclude_apps=SkipApps}. +-spec exclude_modules(t()) -> [{App::atom(), [Module::atom()]}]. +exclude_modules(#state_t{exclude_modules=Modules}) -> + Modules. + +%% @doc modules to be excluded from the release +-spec exclude_modules(t(), [{App::atom(), [Module::atom()]}]) -> t(). +exclude_modules(State, SkipModules) -> + State#state_t{exclude_modules=SkipModules}. + -spec debug_info(t()) -> keep | strip. debug_info(#state_t{debug_info=DebugInfo}) -> DebugInfo. |