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 idMissingProjectException
org.codehaus.plexus.util.dag.CycleDetectedException
public 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.CycleDetectedException
DuplicateProjectException
MissingProjectException
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) throws MissingProjectException
MissingProjectException
private static void resumeFrom(java.lang.String resumeFrom, java.util.List sortedProjects, java.util.Map projectMap, MavenProject topLevelProject) throws MissingProjectException
MissingProjectException
private static MavenProject findProject(java.lang.String projectName, java.util.Map projectMap, MavenProject topLevelProject) throws MissingProjectException
MissingProjectException
private 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.CycleDetectedException
public 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()