aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlx_state.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rlx_state.erl')
-rw-r--r--src/rlx_state.erl28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/rlx_state.erl b/src/rlx_state.erl
index 6974d52..5032628 100644
--- a/src/rlx_state.erl
+++ b/src/rlx_state.erl
@@ -82,8 +82,11 @@
upfrom/1,
upfrom/2,
format/1,
- format/2]).
-
+ format/2,
+ exclude_modules/1,
+ exclude_modules/2,
+ warnings_as_errors/1,
+ warnings_as_errors/2]).
-export_type([t/0,
releases/0,
@@ -107,6 +110,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(),
@@ -114,7 +118,8 @@
include_src=true :: boolean(),
upfrom :: string() | binary() | undefined,
config_values :: ec_dictionary:dictionary(Key::atom(),
- Value::term())}).
+ Value::term()),
+ warnings_as_errors=false :: boolean()}).
%%============================================================================
%% types
@@ -200,6 +205,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.
@@ -442,6 +456,14 @@ hooks(_State=#state_t{providers=Providers}, Target) ->
Provider = providers:get_provider(Target, Providers),
providers:hooks(Provider).
+-spec warnings_as_errors(t()) -> boolean().
+warnings_as_errors(#state_t{warnings_as_errors=WarningsAsErrors}) ->
+ WarningsAsErrors.
+
+-spec warnings_as_errors(t(), boolean()) -> t().
+warnings_as_errors(State, WarningsAsErrors) ->
+ State#state_t{warnings_as_errors=WarningsAsErrors}.
+
%% ===================================================================
%% Internal functions
%% ===================================================================