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<java.lang.String,MavenProject> |
projectMap |
private java.util.List<MavenProject> |
sortedProjects |
private MavenProject |
topLevelProject |
Constructor and Description |
---|
ProjectSorter(java.util.Collection<MavenProject> projects)
Sort a list of projects.
|
Modifier and Type | Method and Description |
---|---|
private void |
addEdge(java.util.Map<java.lang.String,MavenProject> projectMap,
java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.plexus.util.dag.Vertex>> vertexMap,
MavenProject project,
org.codehaus.plexus.util.dag.Vertex projectVertex,
java.lang.String groupId,
java.lang.String artifactId,
java.lang.String version,
boolean force,
boolean safe) |
private void |
addEdge(org.codehaus.plexus.util.dag.Vertex fromVertex,
org.codehaus.plexus.util.dag.Vertex toVertex,
MavenProject fromProject,
java.util.Map<java.lang.String,MavenProject> projectMap,
boolean force,
boolean safe) |
org.codehaus.plexus.util.dag.DAG |
getDAG() |
java.util.List<java.lang.String> |
getDependencies(java.lang.String id) |
java.util.List<java.lang.String> |
getDependents(java.lang.String id) |
static java.lang.String |
getId(MavenProject project) |
java.util.Map<java.lang.String,MavenProject> |
getProjectMap() |
java.util.List<MavenProject> |
getSortedProjects() |
MavenProject |
getTopLevelProject() |
boolean |
hasMultipleProjects() |
private boolean |
isSpecificVersion(java.lang.String version) |
private org.codehaus.plexus.util.dag.DAG dag
private java.util.List<MavenProject> sortedProjects
private java.util.Map<java.lang.String,MavenProject> projectMap
private MavenProject topLevelProject
public ProjectSorter(java.util.Collection<MavenProject> projects) throws org.codehaus.plexus.util.dag.CycleDetectedException, DuplicateProjectException
DuplicateProjectException
- if any projects are duplicated by idorg.codehaus.plexus.util.dag.CycleDetectedException
private void addEdge(java.util.Map<java.lang.String,MavenProject> projectMap, java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.codehaus.plexus.util.dag.Vertex>> vertexMap, MavenProject project, org.codehaus.plexus.util.dag.Vertex projectVertex, java.lang.String groupId, java.lang.String artifactId, java.lang.String version, boolean force, boolean safe) throws org.codehaus.plexus.util.dag.CycleDetectedException
org.codehaus.plexus.util.dag.CycleDetectedException
private void addEdge(org.codehaus.plexus.util.dag.Vertex fromVertex, org.codehaus.plexus.util.dag.Vertex toVertex, MavenProject fromProject, java.util.Map<java.lang.String,MavenProject> projectMap, boolean force, boolean safe) throws org.codehaus.plexus.util.dag.CycleDetectedException
org.codehaus.plexus.util.dag.CycleDetectedException
private boolean isSpecificVersion(java.lang.String version)
public MavenProject getTopLevelProject()
public java.util.List<MavenProject> getSortedProjects()
public boolean hasMultipleProjects()
public java.util.List<java.lang.String> getDependents(java.lang.String id)
public java.util.List<java.lang.String> getDependencies(java.lang.String id)
public static java.lang.String getId(MavenProject project)
public org.codehaus.plexus.util.dag.DAG getDAG()
public java.util.Map<java.lang.String,MavenProject> getProjectMap()