Interface ProjectDependencyGraph

  • All Known Implementing Classes:
    DefaultProjectDependencyGraph

    public interface ProjectDependencyGraph
    Describes the inter-dependencies between projects in the reactor.
    Since:
    3.0-alpha
    Author:
    Benjamin Bentmann
    • Method Detail

      • getAllProjects

        List<MavenProject> getAllProjects()
        Gets all collected projects.
        Returns:
        All collected projects.
        Since:
        3.5.0
      • getSortedProjects

        List<MavenProject> getSortedProjects()
        Gets all projects in their intended build order, i.e. after topologically sorting the projects according to their inter-dependencies.
        Returns:
        The projects in the build order, never null.
      • getDownstreamProjects

        List<MavenProject> getDownstreamProjects​(MavenProject project,
                                                 boolean transitive)
        Gets the downstream projects of the specified project. A downstream project is a project that directly or indirectly depends on the given project.
        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

        List<MavenProject> getUpstreamProjects​(MavenProject project,
                                               boolean transitive)
        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.
        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.