diff options
author | Tristan Sloughter <t@crashfast.com> | 2016-02-05 18:42:40 -0600 |
---|---|---|
committer | Tristan Sloughter <t@crashfast.com> | 2016-02-05 18:42:40 -0600 |
commit | ff434b3df16982ee0942bea45b8bb95a2a82011f (patch) | |
tree | 4e74223f6adb9edc664cc6c94c832637b25b4324 | |
parent | 9e1abdbd32b17b246ed6ed567cae570606b9bad8 (diff) | |
parent | b1c6c2fccfb24bb9294fdd09ba51adadca59fec1 (diff) |
Merge pull request #1047 from fishcakez/dialyzer_unknown
Ignore unknown warning when dialyzer < 2.8
-rw-r--r-- | src/rebar_prv_dialyzer.erl | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/rebar_prv_dialyzer.erl b/src/rebar_prv_dialyzer.erl index 2e5728a..834eb98 100644 --- a/src/rebar_prv_dialyzer.erl +++ b/src/rebar_prv_dialyzer.erl @@ -397,7 +397,7 @@ run_dialyzer(State, Opts, Output) -> case proplists:get_bool(get_warnings, Opts) of true -> WarningsList = get_config(State, warnings, []), - Opts2 = [{warnings, WarningsList}, + Opts2 = [{warnings, legacy_warnings(WarningsList)}, {check_plt, false} | Opts], ?DEBUG("Running dialyzer with options: ~p~n", [Opts2]), @@ -412,6 +412,14 @@ run_dialyzer(State, Opts, Output) -> {0, State} end. +legacy_warnings(Warnings) -> + case dialyzer_version() of + TupleVsn when TupleVsn < {2, 8, 0} -> + [Warning || Warning <- Warnings, Warning =/= unknown]; + _ -> + Warnings + end. + format_warnings(Output, Warnings) -> Warnings1 = rebar_dialyzer_format:format_warnings(Warnings), console_warnings(Warnings1), @@ -475,3 +483,16 @@ collect_nested_dependent_apps(App, Seen) -> end end end. + +dialyzer_version() -> + _ = application:load(dialyzer), + {ok, Vsn} = application:get_key(dialyzer, vsn), + case string:tokens(Vsn, ".") of + [Major, Minor] -> + version_tuple(Major, Minor, "0"); + [Major, Minor, Patch | _] -> + version_tuple(Major, Minor, Patch) + end. + +version_tuple(Major, Minor, Patch) -> + {list_to_integer(Major), list_to_integer(Minor), list_to_integer(Patch)}. |