org.eclipse.aether.graph

## 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 Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<Dependency>` | `getCyclicDependencies()` Gets the dependencies that actually form the cycle.
    `List<Dependency>` | `getPrecedingDependencies()` Gets the dependencies that lead to the first dependency on the cycle, starting from the root of the dependency graph.

- - ### Method Detail

    - #### getPrecedingDependencies

          List<Dependency> getPrecedingDependencies()

      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<Dependency> getCyclicDependencies()

      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`.

Copyright © 2010-2014 The Eclipse Foundation. All Rights Reserved.