diff options
| author | Fred Hebert <mononcqc@ferd.ca> | 2014-12-06 18:56:47 -0500 |
|---|---|---|
| committer | Fred Hebert <mononcqc@ferd.ca> | 2014-12-06 18:56:47 -0500 |
| commit | fb98dde7ecb894fe74055449dcaea77aa237115b (patch) | |
| tree | 95feb148cd7c33f46b15ec7fa60edd02ae46cfa0 /src/rebar_digraph.erl | |
| parent | d5907ad9b932feaf7fdf1cdbb4319226ef22ea78 (diff) | |
| parent | be39ab9e7bd1553132def2a1e89f1ce38f6f2fcc (diff) | |
Merge pull request #44 from rebar/fix-circular-deps
Partial fix to circular deps (#40)
Diffstat (limited to 'src/rebar_digraph.erl')
| -rw-r--r-- | src/rebar_digraph.erl | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rebar_digraph.erl b/src/rebar_digraph.erl index bb031cb..dbcf649 100644 --- a/src/rebar_digraph.erl +++ b/src/rebar_digraph.erl @@ -18,7 +18,15 @@ compile_order(Apps) -> end, Apps), case digraph_utils:topsort(Graph) of false -> - {error, no_sort}; + case digraph_utils:is_acyclic(Graph) of + true -> + {error, no_sort}; + false -> + Cycles = lists:sort( + [lists:sort(Comp) || Comp <- digraph_utils:strong_components(Graph), + length(Comp)>1]), + {error, {cycles, Cycles}} + end; V -> {ok, names_to_apps(lists:reverse(V), Apps)} end. |
