diff options
| author | James Fish <james@fishcakez.com> | 2016-02-02 12:41:19 +0000 | 
|---|---|---|
| committer | James Fish <james@fishcakez.com> | 2016-02-02 12:41:19 +0000 | 
| commit | b1c6c2fccfb24bb9294fdd09ba51adadca59fec1 (patch) | |
| tree | c8fdeaf24b2115e1a5f403d5bcdcd3fd52ef3a19 /src | |
| parent | a229a21ffb5af043ade5c3834a669378e3a9658f (diff) | |
Ignore unknown warning when dialyzer < 2.8
Diffstat (limited to 'src')
| -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)}. | 
