- All Known Implementing Classes:
public interface DependencyCycle
A cycle within a dependency graph, that is a sequence of dependencies d_1, d_2, ..., d_n where d_1 and d_n have the same versionless coordinates. In more practical terms, a cycle occurs when a project directly or indirectly depends on its own output artifact.
- This interface is not intended to be extended by clients.
- This interface is not intended to be implemented by clients.
getPrecedingDependenciesGets the dependencies that lead to the first dependency on the cycle, starting from the root of the dependency graph.
- The (read-only) sequence of dependencies that precedes the cycle in the graph, potentially empty but
getCyclicDependenciesGets the dependencies that actually form the cycle. For example, a -> b -> c -> a, i.e. the last dependency in this sequence duplicates the first element and closes the cycle. Hence the length of the cycle is the size of the returned sequence minus 1.
- The (read-only) sequence of dependencies that forms the cycle, never