in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/dependency/RequireUpperBoundDeps.java [154:178]
private StringBuilder buildTreeString(DependencyNode node) {
List<String> loc = new ArrayList<>();
DependencyNode currentNode = node;
while (currentNode != null) {
StringBuilder line = new StringBuilder(getFullArtifactName(currentNode, false));
if (DependencyManagerUtils.getPremanagedVersion(currentNode) != null) {
line.append(" (managed) <-- ");
line.append(getFullArtifactName(currentNode, true));
}
loc.add(line.toString());
currentNode = upperBoundDepsVisitor.getParent(currentNode);
}
Collections.reverse(loc);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < loc.size(); i++) {
for (int j = 0; j < i; j++) {
builder.append(" ");
}
builder.append("+-").append(loc.get(i));
builder.append(System.lineSeparator());
}
return builder;
}