use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.
the class DependencyConvergenceReport method generateVersionDetails.
/**
* Generate version details for a given dependency
*
* @param sink
* @param artifactMap
* @param version
*/
// CHECKSTYLE_OFF: LineLength
private void generateVersionDetails(Sink sink, Map<String, List<ReverseDependencyLink>> artifactMap, String version) // CHECKSTYLE_ON: LineLength
{
// Use lower alpha numbering
sink.numberedList(0);
List<ReverseDependencyLink> depList = artifactMap.get(version);
List<DependencyNode> projectNodes = getProjectNodes(depList);
if (projectNodes == null || projectNodes.size() == 0) {
getLog().warn("Can't find project nodes for dependency list: " + depList.get(0).getDependency());
return;
}
Collections.sort(projectNodes, new DependencyNodeComparator());
for (DependencyNode projectNode : projectNodes) {
if (isReactorBuild()) {
sink.numberedListItem();
}
showVersionDetails(projectNode, depList, sink);
if (isReactorBuild()) {
sink.numberedListItem_();
}
sink.lineBreak();
}
sink.numberedList_();
}
use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.
the class DependencyConvergenceReport method getAllDescendants.
/**
* Get all descendants nodes for a given dependency node.
*
* @param node
* @return set of descendants artifacts.
*/
private Set<Artifact> getAllDescendants(DependencyNode node) {
Set<Artifact> children = null;
if (node.getChildren() != null) {
children = new HashSet<Artifact>();
for (DependencyNode depNode : node.getChildren()) {
children.add(depNode.getArtifact());
Set<Artifact> subNodes = getAllDescendants(depNode);
if (subNodes != null) {
children.addAll(subNodes);
}
}
}
return children;
}
use of org.apache.maven.shared.dependency.tree.DependencyNode in project maven-plugins by apache.
the class DependencyConvergenceReport method getConflictingDependencyMap.
/**
* Get conflicting dependency map base on specified dependency node.
*
* @param conflictingDependencyMap
* @param reactorProject
* @param node
*/
private void getConflictingDependencyMap(Map<String, List<ReverseDependencyLink>> conflictingDependencyMap, MavenProject reactorProject, DependencyNode node) {
DependencyVersionMap visitor = new DependencyVersionMap();
visitor.setUniqueVersions(true);
node.accept(visitor);
for (List<DependencyNode> nodes : visitor.getConflictedVersionNumbers()) {
DependencyNode dependencyNode = nodes.get(0);
String key = dependencyNode.getArtifact().getGroupId() + ":" + dependencyNode.getArtifact().getArtifactId();
List<ReverseDependencyLink> dependencyList = conflictingDependencyMap.get(key);
if (dependencyList == null) {
dependencyList = new ArrayList<ReverseDependencyLink>();
}
// CHECKSTYLE_OFF: LineLength
dependencyList.add(new ReverseDependencyLink(toDependency(dependencyNode.getArtifact()), reactorProject));
for (DependencyNode workNode : nodes.subList(1, nodes.size())) {
// CHECKSTYLE_OFF: LineLength
dependencyList.add(new ReverseDependencyLink(toDependency(workNode.getArtifact()), reactorProject));
// CHECKSTYLE_ON: LineLength
}
conflictingDependencyMap.put(key, dependencyList);
}
}
Aggregations