in src/java/org/apache/ivy/plugins/report/LogReportOutputter.java [47:160]
public void output(ResolveReport report, ResolutionCacheManager cacheMgr, ResolveOptions options)
throws IOException {
IvySettings settings = IvyContext.getContext().getSettings();
if (settings.logModulesInUse() && ResolveOptions.LOG_DEFAULT.equals(options.getLog())) {
Message.info("\t:: modules in use:");
List<IvyNode> dependencies = new ArrayList<>(report.getDependencies());
Collections.sort(dependencies);
if (dependencies.size() > 0) {
String[] confs = report.getConfigurations();
for (IvyNode node : dependencies) {
if (node.isCompletelyEvicted() || node.hasProblem()) {
continue;
}
List<String> nodeConfs = new ArrayList<>(confs.length);
for (String conf : confs) {
if (report.getConfigurationReport(conf).getModuleRevisionIds()
.contains(node.getResolvedId())) {
nodeConfs.add(conf);
}
}
Message.info("\t" + node + " from "
+ node.getModuleRevision().getResolver().getName() + " in " + nodeConfs);
}
}
}
IvyNode[] evicted = report.getEvictedNodes();
if (evicted.length > 0 && ResolveOptions.LOG_DEFAULT.equals(options.getLog())) {
Message.info("\t:: evicted modules:");
for (IvyNode evictedNode : evicted) {
Collection<String> allEvictingNodes = evictedNode.getAllEvictingNodesDetails();
if (allEvictingNodes == null) {
Message.info("\t" + evictedNode + " transitively in "
+ Arrays.asList(evictedNode.getEvictedConfs()));
} else if (allEvictingNodes.isEmpty()) {
Message.info(
"\t" + evictedNode + " by [] (" + evictedNode.getAllEvictingConflictManagers()
+ ") in " + Arrays.asList(evictedNode.getEvictedConfs()));
} else {
Message.info("\t" + evictedNode + " by " + allEvictingNodes + " in "
+ Arrays.asList(evictedNode.getEvictedConfs()));
}
for (String conf : evictedNode.getEvictedConfs()) {
EvictionData evictedData = evictedNode.getEvictedData(conf);
if (evictedData.getParent() != null) {
Message.verbose("\t in " + evictedData.getParent() + " with "
+ evictedData.getConflictManager());
}
}
}
}
if (ResolveOptions.LOG_DEFAULT.equals(options.getLog())) {
// CheckStyle:MagicNumber| OFF
char[] sep = new char[69];
Arrays.fill(sep, '-');
Message.rawinfo("\t" + new String(sep));
StringBuilder line = new StringBuilder("\t");
append(line, "", 18);
append(line, "modules", 31);
line.append("|");
append(line, "artifacts", 15);
line.append("|");
Message.rawinfo(line.toString());
line = new StringBuilder("\t");
append(line, "conf", 18);
append(line, "number", 7);
append(line, "search", 7);
append(line, "dwnlded", 7);
append(line, "evicted", 7);
line.append("|");
append(line, "number", 7);
append(line, "dwnlded", 7);
// CheckStyle:MagicNumber| ON
line.append("|");
Message.rawinfo(line.toString());
Message.rawinfo("\t" + new String(sep));
for (String conf : report.getConfigurations()) {
output(report.getConfigurationReport(conf));
}
Message.rawinfo("\t" + new String(sep));
}
IvyNode[] unresolved = report.getUnresolvedDependencies();
if (unresolved.length > 0) {
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::");
Message.warn("\t:: UNRESOLVED DEPENDENCIES ::");
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::");
}
for (IvyNode anUnresolved : unresolved) {
Message.warn("\t:: " + anUnresolved + ": " + anUnresolved.getProblemMessage());
}
if (unresolved.length > 0) {
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::\n");
}
ArtifactDownloadReport[] errors = report.getFailedArtifactsReports();
if (errors.length > 0) {
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::");
Message.warn("\t:: FAILED DOWNLOADS ::");
Message.warn("\t:: ^ see resolution messages for details ^ ::");
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::");
}
for (ArtifactDownloadReport error : errors) {
Message.warn("\t:: " + error.getArtifact());
}
if (errors.length > 0) {
Message.warn("\t::::::::::::::::::::::::::::::::::::::::::::::\n");
}
}