Skip to content

Commit c7234e7

Browse files
committed
Add a check whether default_ignore file is empty during execution and ignores it if is
1 parent b69c5d8 commit c7234e7

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

lib/dialyxir/filter_map.ex

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,21 @@ defmodule Dialyxir.FilterMap do
1616
unused_filters_as_errors?: list_unused_filters? && !ignore_exit_status?
1717
}
1818

19-
{ignore, _} =
20-
ignore_file
21-
|> File.read!()
22-
|> Code.eval_string()
19+
cond do
20+
File.exists?(ignore_file) &&
21+
match?(%{size: size} when size > 0, File.stat!(ignore_file)) ->
22+
{ignore, _} =
23+
ignore_file
24+
|> File.read!()
25+
|> Code.eval_string()
2326

24-
Enum.reduce(ignore, filter_map, fn skip, filter_map ->
25-
put_in(filter_map.counters[skip], 0)
26-
end)
27+
Enum.reduce(ignore, filter_map, fn skip, filter_map ->
28+
put_in(filter_map.counters[skip], 0)
29+
end)
30+
31+
true ->
32+
filter_map
33+
end
2734
end
2835

2936
@doc """

lib/mix/tasks/dialyzer.ex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,12 @@ defmodule Mix.Tasks.Dialyzer do
187187
No :ignore_warnings opt specified in mix.exs. Using default: #{default}.
188188
""")
189189

190+
ignore_warnings && File.exists?(ignore_warnings) &&
191+
match?(%{size: size} when size == 0, File.stat!(default)) ->
192+
info("""
193+
:ignore_warnings opt specified in mix.exs: #{ignore_warnings}, but file is empty.
194+
""")
195+
190196
ignore_warnings && File.exists?(ignore_warnings) ->
191197
info("""
192198
ignore_warnings: #{ignore_warnings}

0 commit comments

Comments
 (0)