public class DefaultProjectDependencyGraph extends java.lang.Object implements ProjectDependencyGraph
Modifier and Type | Field and Description |
---|---|
private java.util.List<MavenProject> |
allProjects |
private ProjectSorter |
sorter |
Constructor and Description |
---|
DefaultProjectDependencyGraph(java.util.Collection<MavenProject> projects)
Creates a new project dependency graph based on the specified projects.
|
DefaultProjectDependencyGraph(java.util.List<MavenProject> allProjects,
java.util.Collection<MavenProject> projects)
Creates a new project dependency graph based on the specified projects.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<MavenProject> |
getAllProjects()
Gets all collected projects.
|
java.util.List<MavenProject> |
getDownstreamProjects(MavenProject project,
boolean transitive)
Gets the downstream projects of the specified project.
|
private void |
getDownstreamProjects(java.lang.String projectId,
java.util.Set<java.lang.String> projectIds,
boolean transitive) |
java.util.List<MavenProject> |
getSortedProjects()
Gets all projects in their intended build order, i.e.
|
private java.util.List<MavenProject> |
getSortedProjects(java.util.Set<java.lang.String> projectIds) |
java.util.List<MavenProject> |
getUpstreamProjects(MavenProject project,
boolean transitive)
Gets the upstream projects of the specified project.
|
private void |
getUpstreamProjects(java.lang.String projectId,
java.util.Collection<java.lang.String> projectIds,
boolean transitive) |
java.lang.String |
toString() |
private ProjectSorter sorter
private java.util.List<MavenProject> allProjects
public DefaultProjectDependencyGraph(java.util.Collection<MavenProject> projects) throws org.codehaus.plexus.util.dag.CycleDetectedException, DuplicateProjectException
projects
- The projects to create the dependency graph withDuplicateProjectException
org.codehaus.plexus.util.dag.CycleDetectedException
public DefaultProjectDependencyGraph(java.util.List<MavenProject> allProjects, java.util.Collection<MavenProject> projects) throws org.codehaus.plexus.util.dag.CycleDetectedException, DuplicateProjectException
allProjects
- All collected projects.projects
- The projects to create the dependency graph with.DuplicateProjectException
org.codehaus.plexus.util.dag.CycleDetectedException
public java.util.List<MavenProject> getAllProjects()
ProjectDependencyGraph
getAllProjects
in interface ProjectDependencyGraph
public java.util.List<MavenProject> getSortedProjects()
ProjectDependencyGraph
getSortedProjects
in interface ProjectDependencyGraph
null
.public java.util.List<MavenProject> getDownstreamProjects(MavenProject project, boolean transitive)
ProjectDependencyGraph
getDownstreamProjects
in interface ProjectDependencyGraph
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.null
.private void getDownstreamProjects(java.lang.String projectId, java.util.Set<java.lang.String> projectIds, boolean transitive)
public java.util.List<MavenProject> getUpstreamProjects(MavenProject project, boolean transitive)
ProjectDependencyGraph
getUpstreamProjects
in interface ProjectDependencyGraph
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.null
.private void getUpstreamProjects(java.lang.String projectId, java.util.Collection<java.lang.String> projectIds, boolean transitive)
private java.util.List<MavenProject> getSortedProjects(java.util.Set<java.lang.String> projectIds)
public java.lang.String toString()
toString
in class java.lang.Object