From d693093c00d2e67fd068de8a2dd1596dc75928e2 Mon Sep 17 00:00:00 2001 From: James Fish Date: Sun, 8 Feb 2015 16:46:05 +0000 Subject: Fix dialyzer erts file lookup for releases prior to R16B02 erts.app was introduced in R16B02 so read all beam files from the erts ebin directory if erts.app file does not exist. --- src/rebar_prv_dialyzer.erl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/rebar_prv_dialyzer.erl') diff --git a/src/rebar_prv_dialyzer.erl b/src/rebar_prv_dialyzer.erl index 242890a..33d2162 100644 --- a/src/rebar_prv_dialyzer.erl +++ b/src/rebar_prv_dialyzer.erl @@ -202,6 +202,8 @@ ebin_to_info(EbinDir, AppName) -> Modules = proplists:get_value(modules, AppDetails, []), Files = modules_to_files(Modules, EbinDir), {IncApps ++ DepApps, Files}; + {error, enoent} when AppName =:= erts -> + {[], ebin_files(EbinDir)}; _ -> Error = io_lib:format("Could not parse ~p", [AppFile]), throw({dialyzer_error, Error}) @@ -222,6 +224,11 @@ module_to_file(Module, EbinDir, Ext) -> false end. +ebin_files(EbinDir) -> + Wildcard = "*" ++ code:objfile_extension(), + [filename:join(EbinDir, File) || + File <- filelib:wildcard(Wildcard, EbinDir)]. + read_plt(_State, Plt) -> case dialyzer:plt_info(Plt) of {ok, Info} -> -- cgit v1.1