public class ProjectSorter
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private org.codehaus.plexus.util.dag.DAG |
dag |
private java.util.Map |
projectMap |
private java.util.List<MavenProject> |
sortedProjects |
private MavenProject |
topLevelProject |
| Constructor and Description |
|---|
ProjectSorter(java.util.List projects)
Sort a list of projects.
|
ProjectSorter(java.util.List projects,
java.util.List selectedProjectNames,
java.lang.String resumeFrom,
boolean make,
boolean makeDependents) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addEdgeWithParentCheck(java.util.Map projectMap,
java.lang.String projectRefId,
MavenProject project,
java.lang.String id) |
private static java.util.List |
applyMakeFilter(java.util.List sortedProjects,
org.codehaus.plexus.util.dag.DAG dag,
java.util.Map projectMap,
MavenProject topLevelProject,
java.util.List selectedProjectNames,
boolean make,
boolean makeDependents) |
private static MavenProject |
findProject(java.lang.String projectName,
java.util.Map projectMap,
MavenProject topLevelProject) |
private static void |
gatherAncestors(org.codehaus.plexus.util.dag.Vertex v,
java.util.Map projectMap,
java.util.Set out,
java.util.Set visited) |
private static void |
gatherDescendents(org.codehaus.plexus.util.dag.Vertex v,
java.util.Map projectMap,
java.util.Set out,
java.util.Set visited) |
org.codehaus.plexus.util.dag.DAG |
getDAG() |
java.util.List |
getDependents(java.lang.String id) |
java.util.Map |
getProjectMap() |
java.util.List<MavenProject> |
getSortedProjects() |
MavenProject |
getTopLevelProject() |
boolean |
hasMultipleProjects() |
private static void |
resumeFrom(java.lang.String resumeFrom,
java.util.List sortedProjects,
java.util.Map projectMap,
MavenProject topLevelProject) |
private final org.codehaus.plexus.util.dag.DAG dag
private final java.util.Map projectMap
private final java.util.List<MavenProject> sortedProjects
private MavenProject topLevelProject
public ProjectSorter(java.util.List projects)
throws org.codehaus.plexus.util.dag.CycleDetectedException,
DuplicateProjectException,
MissingProjectException
DuplicateProjectException - if any projects are duplicated by idMissingProjectExceptionorg.codehaus.plexus.util.dag.CycleDetectedExceptionpublic ProjectSorter(java.util.List projects,
java.util.List selectedProjectNames,
java.lang.String resumeFrom,
boolean make,
boolean makeDependents)
throws org.codehaus.plexus.util.dag.CycleDetectedException,
DuplicateProjectException,
MissingProjectException
org.codehaus.plexus.util.dag.CycleDetectedExceptionDuplicateProjectExceptionMissingProjectExceptionprivate static java.util.List applyMakeFilter(java.util.List sortedProjects,
org.codehaus.plexus.util.dag.DAG dag,
java.util.Map projectMap,
MavenProject topLevelProject,
java.util.List selectedProjectNames,
boolean make,
boolean makeDependents)
throws MissingProjectException
MissingProjectExceptionprivate static void resumeFrom(java.lang.String resumeFrom,
java.util.List sortedProjects,
java.util.Map projectMap,
MavenProject topLevelProject)
throws MissingProjectException
MissingProjectExceptionprivate static MavenProject findProject(java.lang.String projectName, java.util.Map projectMap, MavenProject topLevelProject) throws MissingProjectException
MissingProjectExceptionprivate static void gatherDescendents(org.codehaus.plexus.util.dag.Vertex v,
java.util.Map projectMap,
java.util.Set out,
java.util.Set visited)
private static void gatherAncestors(org.codehaus.plexus.util.dag.Vertex v,
java.util.Map projectMap,
java.util.Set out,
java.util.Set visited)
private void addEdgeWithParentCheck(java.util.Map projectMap,
java.lang.String projectRefId,
MavenProject project,
java.lang.String id)
throws org.codehaus.plexus.util.dag.CycleDetectedException
org.codehaus.plexus.util.dag.CycleDetectedExceptionpublic MavenProject getTopLevelProject()
public java.util.List<MavenProject> getSortedProjects()
public boolean hasMultipleProjects()
public java.util.List getDependents(java.lang.String id)
public org.codehaus.plexus.util.dag.DAG getDAG()
public java.util.Map getProjectMap()