diff options
author | Luis Rascao <[email protected]> | 2017-01-04 19:21:33 +0000 |
---|---|---|
committer | Luis Rascao <[email protected]> | 2017-01-28 00:40:46 +0000 |
commit | 4314d778176225b6caecd354d6fddbdc5a1f7e17 (patch) | |
tree | bf76a452163442bb5f26642b29f21fbe6bdc180e /src | |
parent | 2640387cf1ba24682690b5d6f488df3d8ded5501 (diff) | |
download | relx-4314d778176225b6caecd354d6fddbdc5a1f7e17.tar.gz relx-4314d778176225b6caecd354d6fddbdc5a1f7e17.tar.bz2 relx-4314d778176225b6caecd354d6fddbdc5a1f7e17.zip |
Expose warnings as errors option
Obtained from command line and saved in the state
to be used on situations where we want to error out on
warnings explicitly.
Diffstat (limited to 'src')
-rw-r--r-- | src/rlx_cmd_args.erl | 3 | ||||
-rw-r--r-- | src/rlx_config.erl | 2 | ||||
-rw-r--r-- | src/rlx_state.erl | 16 |
3 files changed, 18 insertions, 3 deletions
diff --git a/src/rlx_cmd_args.erl b/src/rlx_cmd_args.erl index 7f3f39b..b20344c 100644 --- a/src/rlx_cmd_args.erl +++ b/src/rlx_cmd_args.erl @@ -282,6 +282,9 @@ create(include_erts, Opts) -> Erts when is_list(Erts) -> {include_erts, Erts} end; +create(warnings_as_errors, Opts) -> + WarningsAsErrors = proplists:get_value(warnings_as_errors, Opts, false), + {warnings_as_errors, WarningsAsErrors}; create(_, _) -> []. diff --git a/src/rlx_config.erl b/src/rlx_config.erl index dfcb511..b5ef51b 100644 --- a/src/rlx_config.erl +++ b/src/rlx_config.erl @@ -269,6 +269,8 @@ load_terms({overlay_vars, OverlayVars}, {ok, State}) -> NewOverlayVars0 = list_of_overlay_vars_files(OverlayVars), NewOverlayVars1 = CurrentOverlayVars ++ NewOverlayVars0, {ok, rlx_state:put(State, overlay_vars, NewOverlayVars1)}; +load_terms({warnings_as_errors, WarningsAsErrors}, {ok, State}) -> + {ok, rlx_state:warnings_as_errors(State, WarningsAsErrors)}; load_terms({Name, Value}, {ok, State}) when erlang:is_atom(Name) -> {ok, rlx_state:put(State, Name, Value)}; diff --git a/src/rlx_state.erl b/src/rlx_state.erl index 75a5cba..5032628 100644 --- a/src/rlx_state.erl +++ b/src/rlx_state.erl @@ -84,8 +84,9 @@ format/1, format/2, exclude_modules/1, - exclude_modules/2]). - + exclude_modules/2, + warnings_as_errors/1, + warnings_as_errors/2]). -export_type([t/0, releases/0, @@ -117,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 @@ -454,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 %% =================================================================== |