Class ConcurrencyDependencyGraph

java.lang.Object
org.apache.maven.lifecycle.internal.builder.multithreaded.ConcurrencyDependencyGraph

public class ConcurrencyDependencyGraph extends Object

Presents a view of the Dependency Graph that is suited for concurrent building.

NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
Since:
3.0
  • Constructor Details

  • Method Details

    • getNumberOfBuilds

      public int getNumberOfBuilds()
    • getRootSchedulableBuilds

      public List<MavenProject> getRootSchedulableBuilds()
      Gets all the builds that have no reactor-dependencies
      Returns:
      A set of all the initial builds
    • markAsFinished

      public List<MavenProject> markAsFinished(MavenProject mavenProject)
      Marks the provided project as finished. Returns a list of
      Parameters:
      mavenProject - The project
      Returns:
      The list of builds that are eligible for starting now that the provided project is done
    • getUnfinishedProjects

      public Set<MavenProject> getUnfinishedProjects()
      Returns:
      set of projects that have yet to be processed successfully by the build.
    • getFinishedProjects

      protected Set<MavenProject> getFinishedProjects()
      Returns:
      set of projects that have been successfully processed by the build.
    • getProjectBuilds

      protected ProjectBuildList getProjectBuilds()
    • getDependencies

      protected List<MavenProject> getDependencies(MavenProject p)
      For the given MavenProject p, return all of p's dependencies.
      Parameters:
      p -
      Returns:
      List of prerequisite projects
    • getActiveDependencies

      public List<MavenProject> getActiveDependencies(MavenProject p)
      For the given MavenProject p return p's uncompleted dependencies.
      Parameters:
      p -
      Returns:
      List of uncompleted prerequisite projects