Interface DependencyCycle


  • 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.
    Restriction:
    This interface is not intended to be extended by clients.
    Restriction:
    This interface is not intended to be implemented by clients.
    • Method Detail

      • getPrecedingDependencies

        List<DependencygetPrecedingDependencies()
        Gets the dependencies that lead to the first dependency on the cycle, starting from the root of the dependency graph.
        Returns:
        The (read-only) sequence of dependencies that precedes the cycle in the graph, potentially empty but never null.
      • getCyclicDependencies

        List<DependencygetCyclicDependencies()
        Gets 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.
        Returns:
        The (read-only) sequence of dependencies that forms the cycle, never null.