summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rebar_prv_dialyzer.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/rebar_prv_dialyzer.erl b/src/rebar_prv_dialyzer.erl
index 622ee60..f7e3f21 100644
--- a/src/rebar_prv_dialyzer.erl
+++ b/src/rebar_prv_dialyzer.erl
@@ -353,8 +353,19 @@ update_base_plt(State, BasePlt, Output, BaseFiles) ->
build_plt(State, BasePlt, Output, BaseFiles)
end.
+build_plt(State, Plt, _, []) ->
+ ?INFO("Building with no files in ~p...", [Plt]),
+ Opts = [{get_warnings, false},
+ {output_plt, Plt},
+ {apps, [erts]}],
+ % Create a PLT with erts files and then remove erts files to be left with an
+ % empty PLT. Dialyzer will crash when trying to build a PLT with an empty
+ % file list.
+ _ = dialyzer:run([{analysis_type, plt_build} | Opts]),
+ _ = dialyzer:run([{analysis_type, plt_remove}, {init_plt, Plt} | Opts]),
+ {0, State};
build_plt(State, Plt, Output, Files) ->
- ?INFO("Adding ~b files to ~p...", [length(Files), Plt]),
+ ?INFO("Building with ~b files in ~p...", [length(Files), Plt]),
GetWarnings = get_config(State, get_warnings, false),
Opts = [{analysis_type, plt_build},
{get_warnings, GetWarnings},