summaryrefslogtreecommitdiff
path: root/generate_deps
diff options
context:
space:
mode:
Diffstat (limited to 'generate_deps')
-rw-r--r--generate_deps23
1 files changed, 12 insertions, 11 deletions
diff --git a/generate_deps b/generate_deps
index 3804ec9c39..9be6fc094f 100644
--- a/generate_deps
+++ b/generate_deps
@@ -12,7 +12,9 @@ main([IncludeDir, ErlDir, TargetFile]) ->
HrlFiles = [filename:join(IncludeDir, FileName) ||
FileName <- IncludeDirContents],
Headers = sets:from_list(IncludeDirContents),
- Deps = lists:foldl(fun make_deps/2, dict:new(), ErlFiles ++ HrlFiles),
+ Deps = lists:foldl(fun (Path, Deps1) ->
+ dict:store(Path, detect_deps(Path), Deps1)
+ end, dict:new(), ErlFiles ++ HrlFiles),
Deps1 = dict:map(
fun (_Path, Dep) ->
lists:filter(
@@ -48,14 +50,13 @@ write_deps(Hdl, _IncludeDir, {module, Behaviour}) ->
write_deps(Hdl, IncludeDir, {include, Include}) ->
ok = file:write(Hdl, [" ", IncludeDir, "/", Include]).
-make_deps(Path, Deps) ->
+detect_deps(Path) ->
{ok, Forms} = epp:parse_file(Path, [], [{use_specs, true}]),
- Behaviours = lists:foldl(fun detect_deps/2, [], Forms),
- dict:store(Path, Behaviours, Deps).
-
-detect_deps({attribute, _LineNumber, behaviour, Behaviour}, Deps) ->
- [{module, Behaviour} | Deps];
-detect_deps({error, {_LineNumber, epp, {include, file, Include}}}, Deps) ->
- [{include, Include} | Deps];
-detect_deps(_Form, Deps) ->
- Deps.
+ lists:foldl(
+ fun ({attribute, _LineNumber, behaviour, Behaviour}, Deps) ->
+ [{module, Behaviour} | Deps];
+ ({error, {_LineNumber, epp, {include, file, Include}}}, Deps) ->
+ [{include, Include} | Deps];
+ (_Form, Deps) ->
+ Deps
+ end, [], Forms).