From 63003c3986ca20e2f733e79453315fa0b7076bd9 Mon Sep 17 00:00:00 2001 From: Fred Hebert Date: Sat, 6 Dec 2014 23:18:35 +0000 Subject: Return cycles in deps solver --- src/rebar_digraph.erl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') 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. -- cgit v1.1