Преглед изворни кода

Return cycles in deps solver

pull/44/head
Fred Hebert пре 10 година
родитељ
комит
63003c3986
2 измењених фајлова са 11 додато и 3 уклоњено
  1. +9
    -1
      src/rebar_digraph.erl
  2. +2
    -2
      test/rebar_deps_SUITE.erl

+ 9
- 1
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.

+ 2
- 2
test/rebar_deps_SUITE.erl Прегледај датотеку

@ -47,11 +47,11 @@ deps(pick_earliest) ->
deps(circular1) ->
{[{"B", [{"A", []}]}, % A is the top-level app
{"C", []}],
{error, no_sort}}; % circular dep
{error, {cycles, [[<<"A">>,<<"B">>]]}}}; % circular dep
deps(circular2) ->
{[{"B", [{"C", [{"B", []}]}]},
{"C", []}],
{error, no_sort}}. % circular dep
{error, {cycles, [[<<"B">>,<<"C">>]]}}}. % circular dep
end_per_testcase(_, Config) ->
mock_git_resource:unmock(),

Loading…
Откажи
Сачувај