Class DefaultProjectDependencyGraph

java.lang.Object
org.apache.maven.graph.DefaultProjectDependencyGraph
All Implemented Interfaces:
ProjectDependencyGraph

public class DefaultProjectDependencyGraph extends Object implements ProjectDependencyGraph
Describes the interdependencies between projects in the reactor.
Author:
Benjamin Bentmann
  • Constructor Details

  • Method Details

    • getAllProjects

      public List<MavenProject> getAllProjects()
      Description copied from interface: ProjectDependencyGraph
      Gets all collected projects.
      Specified by:
      getAllProjects in interface ProjectDependencyGraph
      Returns:
      All collected projects.
      Since:
      3.5.0
    • getSortedProjects

      public List<MavenProject> getSortedProjects()
      Description copied from interface: ProjectDependencyGraph
      Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their interdependencies.
      Specified by:
      getSortedProjects in interface ProjectDependencyGraph
      Returns:
      The projects in the build order, never null.
    • getDownstreamProjects

      public List<MavenProject> getDownstreamProjects(MavenProject project, boolean transitive)
      Description copied from interface: ProjectDependencyGraph
      Gets the downstream projects of the specified project. A downstream project is a project that directly or indirectly depends on the given project.
      Specified by:
      getDownstreamProjects in interface ProjectDependencyGraph
      Parameters:
      project - The project whose downstream projects should be retrieved, must not be null.
      transitive - A flag whether to retrieve all direct and indirect downstream projects or just the immediate downstream projects.
      Returns:
      The downstream projects in the build order, never null.
    • getUpstreamProjects

      public List<MavenProject> getUpstreamProjects(MavenProject project, boolean transitive)
      Description copied from interface: ProjectDependencyGraph
      Gets the upstream projects of the specified project. An upstream project is a project that directly or indirectly is a prerequisite of the given project.
      Specified by:
      getUpstreamProjects in interface ProjectDependencyGraph
      Parameters:
      project - The project whose upstream projects should be retrieved, must not be null.
      transitive - A flag whether to retrieve all direct and indirect upstream projects or just the immediate upstream projects.
      Returns:
      The upstream projects in the build order, never null.
    • toString

      public String toString()
      Overrides:
      toString in class Object