Skip to content
This repository was archived by the owner on Jun 6, 2021. It is now read-only.

Commit d9b28bf

Browse files
author
Alex Rønne Petersen
committed
Fix a bunch of Dialyzer warnings.
1 parent 0aadfea commit d9b28bf

File tree

7 files changed

+71
-63
lines changed

7 files changed

+71
-63
lines changed

lib/cache.ex

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ defmodule ExMake.Cache do
1111
case File.mkdir_p(dir) do
1212
{:error, r} ->
1313
ExMake.Logger.log_debug("Failed to create cache directory '#{dir}': #{inspect(r)}")
14-
raise(ExMake.CacheError[description: "Could not create cache directory '#{dir}'"])
14+
raise(ExMake.CacheError, [description: "Could not create cache directory '#{dir}'"])
1515
_ -> :ok
1616
end
1717
end
@@ -93,7 +93,7 @@ defmodule ExMake.Cache do
9393
case :ets.tab2file(:exmake_env, String.to_char_list!(path)) do
9494
{:error, r} ->
9595
ExMake.Logger.log_debug("Failed to save environment cache file '#{path}': #{inspect(r)}")
96-
raise(ExMake.CacheError[description: "Could not save environment cache file '#{path}'"])
96+
raise(ExMake.CacheError, [description: "Could not save environment cache file '#{path}'"])
9797
_ -> :ok
9898
end
9999
end
@@ -120,7 +120,7 @@ defmodule ExMake.Cache do
120120
case :ets.file2tab(String.to_char_list!(path)) do
121121
{:error, r} ->
122122
ExMake.Logger.log_debug("Failed to load environment cache file '#{path}': #{inspect(r)}")
123-
raise(ExMake.CacheError[description: "Could not load environment cache file '#{path}'"])
123+
raise(ExMake.CacheError, [description: "Could not load environment cache file '#{path}'"])
124124
{:ok, tab} -> tab
125125
end
126126
end
@@ -150,7 +150,7 @@ defmodule ExMake.Cache do
150150
case :ets.tab2file(tab, String.to_char_list!(path)) do
151151
{:error, r} ->
152152
ExMake.Logger.log_debug("Failed to save graph cache file '#{path}': #{inspect(r)}")
153-
raise(ExMake.CacheError[description: "Could not save graph cache file '#{path}'"])
153+
raise(ExMake.CacheError, [description: "Could not save graph cache file '#{path}'"])
154154
_ -> :ok
155155
end
156156
end)
@@ -176,7 +176,7 @@ defmodule ExMake.Cache do
176176
case :ets.file2tab(String.to_char_list!(path)) do
177177
{:error, r} ->
178178
ExMake.Logger.log_debug("Failed to load graph cache file '#{path}': #{inspect(r)}")
179-
raise(ExMake.CacheError[description: "Could not load graph cache file '#{path}'"])
179+
raise(ExMake.CacheError, [description: "Could not load graph cache file '#{path}'"])
180180
{:ok, tab} -> tab
181181
end
182182
end)
@@ -205,7 +205,7 @@ defmodule ExMake.Cache do
205205
case File.write(path, data, [:append]) do
206206
{:error, r} ->
207207
ExMake.Logger.log_debug("Failed to save manifest file '#{path}': #{inspect(r)}")
208-
raise(ExMake.CacheError[description: "Could not save manifest file '#{path}'"])
208+
raise(ExMake.CacheError, [description: "Could not save manifest file '#{path}'"])
209209
:ok -> :ok
210210
end
211211
end
@@ -229,7 +229,7 @@ defmodule ExMake.Cache do
229229
case File.write(path, bin) do
230230
{:error, r} ->
231231
ExMake.Logger.log_debug("Failed to save cached module '#{path}': #{inspect(r)}")
232-
raise(ExMake.CacheError[description: "Could not save cached module '#{path}'"])
232+
raise(ExMake.CacheError, [description: "Could not save cached module '#{path}'"])
233233
:ok -> :ok
234234
end
235235
end)
@@ -249,7 +249,7 @@ defmodule ExMake.Cache do
249249
case :code.load_abs(String.to_char_list!(path)) do
250250
{:error, r} ->
251251
ExMake.Logger.log_debug("Failed to load cached module '#{beam}': #{inspect(r)}")
252-
raise(ExMake.CacheError[description: "Could not load cached module '#{beam}'"])
252+
raise(ExMake.CacheError, [description: "Could not load cached module '#{beam}'"])
253253
_ -> :ok
254254
end
255255
end)
@@ -283,14 +283,14 @@ defmodule ExMake.Cache do
283283
case File.write(path_arg, args) do
284284
{:error, r} ->
285285
ExMake.Logger.log_debug("Failed to save configuration arguments file '#{path_arg}': #{inspect(r)}")
286-
raise(ExMake.CacheError[description: "Could not save configuration arguments file '#{path_arg}'"])
286+
raise(ExMake.CacheError, [description: "Could not save configuration arguments file '#{path_arg}'"])
287287
:ok -> :ok
288288
end
289289

290290
case File.write(path_env, vars) do
291291
{:error, r} ->
292292
ExMake.Logger.log_debug("Failed to save configuration variables file '#{path_env}': #{inspect(r)}")
293-
raise(ExMake.CacheError[description: "Could not save configuration variables file '#{path_env}'"])
293+
raise(ExMake.CacheError, [description: "Could not save configuration variables file '#{path_env}'"])
294294
:ok -> :ok
295295
end
296296
end
@@ -312,7 +312,7 @@ defmodule ExMake.Cache do
312312
r = if is_tuple(r) && tuple_size(r) == 3, do: :file.format_error(r), else: inspect(r)
313313

314314
ExMake.Logger.log_debug("Failed to load configuration arguments file '#{path_arg}': #{r}")
315-
raise(ExMake.CacheError[description: "Could not load configuration arguments file '#{path_arg}'"])
315+
raise(ExMake.CacheError, [description: "Could not load configuration arguments file '#{path_arg}'"])
316316
{:ok, args} -> args
317317
end
318318

@@ -321,7 +321,7 @@ defmodule ExMake.Cache do
321321
r = if is_tuple(r) && tuple_size(r) == 3, do: :file.format_error(r), else: inspect(r)
322322

323323
ExMake.Logger.log_debug("Failed to load configuration variables file '#{path_env}': #{r}")
324-
raise(ExMake.CacheError[description: "Could not load configuration variables file '#{path_env}'"])
324+
raise(ExMake.CacheError, [description: "Could not load configuration variables file '#{path_env}'"])
325325
{:ok, vars} -> vars
326326
end
327327

lib/env.ex

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,9 @@ defmodule ExMake.Env do
9898
end
9999

100100
if !is_list(list) do
101-
raise(ExMake.EnvError[name: name,
102-
description: "Value for key '#{name}' is not a list - cannot append element"])
101+
raise(ExMake.EnvError,
102+
[name: name,
103+
description: "Value for key '#{name}' is not a list - cannot append element"])
103104
end
104105

105106
:ets.insert(tab, {name, list ++ [value]})
@@ -123,8 +124,9 @@ defmodule ExMake.Env do
123124
end
124125

125126
if !is_list(list) do
126-
raise(ExMake.EnvError[name: name,
127-
description: "Value for key '#{name}' is not a list - cannot prepend element"])
127+
raise(ExMake.EnvError,
128+
[name: name,
129+
description: "Value for key '#{name}' is not a list - cannot prepend element"])
128130
end
129131

130132
:ets.insert(tab, {name, [value | list]})
@@ -145,8 +147,9 @@ defmodule ExMake.Env do
145147
case :ets.lookup(tab, name) do
146148
[{_, list}] ->
147149
if !is_list(list) do
148-
raise(ExMake.EnvError[name: name,
149-
description: "Value for key '#{name}' is not a list - cannot retrieve"])
150+
raise(ExMake.EnvError,
151+
[name: name,
152+
description: "Value for key '#{name}' is not a list - cannot retrieve"])
150153
end
151154

152155
list
@@ -170,8 +173,9 @@ defmodule ExMake.Env do
170173
end
171174

172175
if !is_list(list) do
173-
raise(ExMake.EnvError[name: name,
174-
description: "Value for key '#{name}' is not a list - cannot delete element"])
176+
raise(ExMake.EnvError,
177+
[name: name,
178+
description: "Value for key '#{name}' is not a list - cannot delete element"])
175179
end
176180

177181
list = Enum.reject(list, fn(e) -> if is_binary(value), do: e == value, else: e =~ value end)

lib/lib.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ defmodule ExMake.Lib do
122122
lib_mod = Module.concat(ExMake.Lib, lib)
123123

124124
if !:code.is_loaded(lib_mod) do
125-
raise(ExMake.ScriptError[description: "Library #{lib} must be loaded"])
125+
raise(ExMake.ScriptError, [description: "Library #{lib} must be loaded"])
126126
end
127127
end
128128

lib/loader.ex

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,34 @@ defmodule ExMake.Loader do
2323
File.cd!(dir, fn() -> Code.load_file(file) end)
2424
rescue
2525
ex in [Code.LoadError] ->
26-
raise(ExMake.LoadError[file: file,
27-
directory: dir,
28-
error: ex,
29-
description: "#{p}: Could not load file"])
26+
raise(ExMake.LoadError,
27+
[file: file,
28+
directory: dir,
29+
error: ex,
30+
description: "#{p}: Could not load file"])
3031
ex in [CompileError] ->
31-
raise(ExMake.LoadError[file: file,
32-
directory: dir,
33-
error: ex,
34-
description: ex.message()])
32+
raise(ExMake.LoadError,
33+
[file: file,
34+
directory: dir,
35+
error: ex,
36+
description: ex.message()])
3537
end
3638

3739
cnt = Enum.count(list, fn({x, _}) -> atom_to_binary(x) |> String.ends_with?(".Exmakefile") end)
3840

3941
cond do
4042
cnt == 0 ->
41-
raise(ExMake.LoadError[file: file,
42-
directory: dir,
43-
error: nil,
44-
description: "#{p}: No module ending in '.Exmakefile' defined"])
43+
raise(ExMake.LoadError,
44+
[file: file,
45+
directory: dir,
46+
error: nil,
47+
description: "#{p}: No module ending in '.Exmakefile' defined"])
4548
cnt > 1 ->
46-
raise(ExMake.LoadError[file: file,
47-
directory: dir,
48-
error: nil,
49-
description: "#{p}: #{cnt} modules ending in '.Exmakefile' defined"])
49+
raise(ExMake.LoadError,
50+
[file: file,
51+
directory: dir,
52+
error: nil,
53+
description: "#{p}: #{cnt} modules ending in '.Exmakefile' defined"])
5054
true -> :ok
5155
end
5256

@@ -55,11 +59,11 @@ defmodule ExMake.Loader do
5559

5660
Enum.each(rec, fn({sub, file}) ->
5761
if !String.valid?(sub) do
58-
raise(ExMake.ScriptError[description: "Subdirectory path must be a string"])
62+
raise(ExMake.ScriptError, [description: "Subdirectory path must be a string"])
5963
end
6064

6165
if !String.valid?(file) do
62-
raise(ExMake.ScriptError[description: "Subdirectory file must be a string"])
66+
raise(ExMake.ScriptError, [description: "Subdirectory file must be a string"])
6367
end
6468
end)
6569

lib/runner.ex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ defmodule ExMake.Runner do
88
{run, arg2} = if rule[:name] do
99
Enum.each(rule[:real_sources], fn(src) ->
1010
if !File.exists?(src) do
11-
raise(ExMake.UsageError[description: "No rule to make target '#{src}'"])
11+
raise(ExMake.UsageError, [description: "No rule to make target '#{src}'"])
1212
end
1313
end)
1414

1515
{true, rule[:name]}
1616
else
1717
Enum.each(rule[:sources], fn(src) ->
1818
if !File.exists?(src) do
19-
raise(ExMake.UsageError[description: "No rule to make target '#{src}'"])
19+
raise(ExMake.UsageError, [description: "No rule to make target '#{src}'"])
2020
end
2121
end)
2222

@@ -41,18 +41,18 @@ defmodule ExMake.Runner do
4141

4242
if (ncwd = File.cwd!()) != cwd do
4343
r = inspect(ExMake.Helpers.make_presentable(rule))
44-
msg = "Recipe for rule #{r} changed directory from '#{cwd}' to '#{ncwd}'"
4544

46-
raise(ExMake.ScriptError[description: msg])
45+
raise(ExMake.ScriptError,
46+
[description: "Recipe for rule #{r} changed directory from '#{cwd}' to '#{ncwd}'"])
4747
end
4848

4949
if tgts = rule[:targets] do
5050
Enum.each(tgts, fn(tgt) ->
5151
if !File.exists?(tgt) do
5252
r = inspect(ExMake.Helpers.make_presentable(rule))
53-
msg = "Recipe for rule #{r} did not produce #{tgt} as expected"
5453

55-
raise(ExMake.ScriptError[description: msg])
54+
raise(ExMake.ScriptError,
55+
[description: "Recipe for rule #{r} did not produce #{tgt} as expected"])
5656
end
5757
end)
5858
end

lib/utils.ex

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ defmodule ExMake.Utils do
5555
{text, code} = recv.(recv, port, "")
5656

5757
if code != 0 && !ignore do
58-
raise(ExMake.ShellError[command: cmd,
59-
output: text,
60-
exit_code: code])
58+
raise(ExMake.ShellError,
59+
[command: cmd,
60+
output: text,
61+
exit_code: code])
6162
end
6263

6364
if String.strip(text) != "" && !silent do
@@ -119,7 +120,7 @@ defmodule ExMake.Utils do
119120
if !exe && !ignore do
120121
list = Enum.join(Enum.map(names, fn(s) -> "'#{s}'" end), ", ")
121122

122-
raise(ExMake.ScriptError[description: "Could not locate program #{list}#{var_desc}"])
123+
raise(ExMake.ScriptError, [description: "Could not locate program #{list}#{var_desc}"])
123124
end
124125

125126
if !silent do

lib/worker.ex

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ defmodule ExMake.Worker do
156156
manifest_files = Enum.concat(Enum.map(mods, fn({d, _, m, _}) ->
157157
Enum.map(m.__exmake__(:manifest), fn(file) ->
158158
if !String.valid?(file) do
159-
raise(ExMake.ScriptError[description: "Manifest file must be a string"])
159+
raise(ExMake.ScriptError, [description: "Manifest file must be a string"])
160160
end
161161

162162
Path.join(d, file)
@@ -207,7 +207,7 @@ defmodule ExMake.Worker do
207207

208208
pass_end.("Locate Vertex (#{tgt})")
209209

210-
if !rule, do: raise(ExMake.UsageError[description: "Target '#{tgt}' not found"])
210+
if !rule, do: raise(ExMake.UsageError, [description: "Target '#{tgt}' not found"])
211211

212212
{v, _} = rule
213213

@@ -287,11 +287,11 @@ defmodule ExMake.Worker do
287287
loc = "#{Path.join(d, f)}:#{elem(spec[:recipe], 3)}"
288288

289289
if !is_list(tgts) || Enum.any?(tgts, fn(t) -> !String.valid?(t) end) do
290-
raise(ExMake.ScriptError[description: "#{loc}: Invalid target list; must be a list of strings"])
290+
raise(ExMake.ScriptError, [description: "#{loc}: Invalid target list; must be a list of strings"])
291291
end
292292

293293
if !is_list(srcs) || Enum.any?(srcs, fn(s) -> !String.valid?(s) end) do
294-
raise(ExMake.ScriptError[description: "#{loc}: Invalid source list; must be a list of strings"])
294+
raise(ExMake.ScriptError, [description: "#{loc}: Invalid source list; must be a list of strings"])
295295
end
296296
end)
297297

@@ -301,11 +301,11 @@ defmodule ExMake.Worker do
301301
loc = "#{Path.join(d, f)}:#{elem(spec[:recipe], 3)}"
302302

303303
if !String.valid?(name) do
304-
raise(ExMake.ScriptError[description: "#{loc}: Invalid phony rule name; must be a string"])
304+
raise(ExMake.ScriptError, [description: "#{loc}: Invalid phony rule name; must be a string"])
305305
end
306306

307307
if !is_list(srcs) || Enum.any?(srcs, fn(s) -> !is_binary(s) || !String.valid?(s) end) do
308-
raise(ExMake.ScriptError[description: "#{loc}: Invalid source list; must be a list of strings"])
308+
raise(ExMake.ScriptError, [description: "#{loc}: Invalid source list; must be a list of strings"])
309309
end
310310
end)
311311
end)
@@ -348,7 +348,7 @@ defmodule ExMake.Worker do
348348

349349
target_names = Enum.reduce(target_names, HashSet.new(), fn(n, set) ->
350350
if Set.member?(set, n) do
351-
raise(ExMake.ScriptError[description: "Multiple rules mention target '#{n}'"])
351+
raise(ExMake.ScriptError, [description: "Multiple rules mention target '#{n}'"])
352352
end
353353

354354
Set.put(set, n)
@@ -362,7 +362,7 @@ defmodule ExMake.Worker do
362362
n = p[:name]
363363

364364
if Set.member?(target_names, n) do
365-
raise(ExMake.ScriptError[description: "Phony rule name '#{n}' conflicts with a rule"])
365+
raise(ExMake.ScriptError, [description: "Phony rule name '#{n}' conflicts with a rule"])
366366
end
367367

368368
Set.put(set, n)
@@ -419,7 +419,7 @@ defmodule ExMake.Worker do
419419
if r[:targets] && (n = r2[:name]) do
420420
r = inspect(ExMake.Helpers.make_presentable(r))
421421

422-
raise(ExMake.ScriptError[description: "Rule #{r} depends on phony rule '#{n}'"])
422+
raise(ExMake.ScriptError, [description: "Rule #{r} depends on phony rule '#{n}'"])
423423
end
424424

425425
case :digraph.add_edge(g, v, v2) do
@@ -429,9 +429,8 @@ defmodule ExMake.Worker do
429429
Enum.map(fn(x) -> ExMake.Helpers.make_presentable(x) end) |>
430430
Enum.map(fn(x) -> inspect(x) end)
431431

432-
msg = "Cyclic dependency detected between\n#{r1}\nand\n#{r2}"
433-
434-
raise(ExMake.ScriptError[description: msg])
432+
raise(ExMake.ScriptError,
433+
[description: "Cyclic dependency detected between\n#{r1}\nand\n#{r2}"])
435434
_ -> :ok
436435
end
437436
end
@@ -521,7 +520,7 @@ defmodule ExMake.Worker do
521520
else
522521
Enum.each(r[:sources], fn(src) ->
523522
if !File.exists?(src) do
524-
raise(ExMake.UsageError[description: "No rule to make target '#{src}'"])
523+
raise(ExMake.UsageError, [description: "No rule to make target '#{src}'"])
525524
end
526525
end)
527526

@@ -531,7 +530,7 @@ defmodule ExMake.Worker do
531530
src_time > tgt_time
532531
end
533532

534-
if stale, do: raise(ExMake.StaleError[rule: r])
533+
if stale, do: raise(ExMake.StaleError, [rule: r])
535534

536535
:digraph.del_vertex(graph, v)
537536
end)

0 commit comments

Comments
 (0)