diff --git a/rebar.config b/rebar.config index 8a655ade..9766d23b 100644 --- a/rebar.config +++ b/rebar.config @@ -46,7 +46,8 @@ %% Use OTP 18+ when dialyzing rebar3 {dialyzer, [ {warnings, [unknown]}, - {exclude_mods, [rebar_prv_alias]} + {exclude_mods, [rebar_prv_alias]}, + {plt_extra_apps, [parsetools, public_key]} ]}. %% Keep only the logs of the last 5 runs diff --git a/src/rebar_compiler.erl b/src/rebar_compiler.erl index 29dc6510..f24b0606 100644 --- a/src/rebar_compiler.erl +++ b/src/rebar_compiler.erl @@ -18,8 +18,8 @@ -type extension() :: string(). -type out_mappings() :: [{extension(), file:filename()}]. --callback context(rebar_app_info:t()) -> #{src_dirs => [file:dirname()], % mandatory - include_dirs => [file:dirname()], % mandatory +-callback context(rebar_app_info:t()) -> #{src_dirs => [DirName :: file:filename()], % mandatory + include_dirs => [DirName :: file:filename()], % mandatory src_ext => extension(), % mandatory out_mappings => out_mappings(), % mandatory dependencies_opts => term()}. % optional @@ -29,8 +29,8 @@ {[file:filename()] | % [Sequential] {[file:filename()], [file:filename()]}, % {Sequential, Parallel} term()}}. --callback dependencies(file:filename(), file:dirname(), [file:dirname()]) -> [file:filename()]. --callback dependencies(file:filename(), file:dirname(), [file:dirname()], term()) -> [file:filename()]. +-callback dependencies(file:filename(), DirName :: file:filename(), [DirName :: file:filename()]) -> [file:filename()]. +-callback dependencies(file:filename(), DirName :: file:filename(), [DirName :: file:filename()], term()) -> [file:filename()]. -callback compile(file:filename(), out_mappings(), rebar_dict(), list()) -> ok | {ok, [string()]} | error | {error, [string()], [string()]} | skipped. -callback compile_and_track(file:filename(), out_mappings(), rebar_dict(), list()) -> @@ -115,7 +115,7 @@ clean(Compilers, AppInfo) -> %% These functions are here for the ultimate goal of getting rid of %% rebar_base_compiler. This can't be done because of existing plugins. --spec needs_compile(filename:all(), extension(), [{extension(), file:dirname()}]) -> boolean(). +-spec needs_compile(file:name_all(), extension(), [{extension(), DirName :: file:filename()}]) -> boolean(). needs_compile(Source, OutExt, Mappings) -> Ext = filename:extension(Source), BaseName = filename:basename(Source, Ext), diff --git a/src/rebar_file_utils.erl b/src/rebar_file_utils.erl index df4d1b5a..425f4c52 100644 --- a/src/rebar_file_utils.erl +++ b/src/rebar_file_utils.erl @@ -516,7 +516,7 @@ resolve_link(Path) -> split_dirname(Path) -> {filename:dirname(Path), filename:basename(Path)}. --spec ensure_dir(filelib:dirname_all()) -> ok | {error, file:posix()}. +-spec ensure_dir(file:name_all()) -> ok | {error, file:posix()}. ensure_dir(Path) -> filelib:ensure_dir(filename:join(Path, "fake_file")).