in org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/cpcontainer/ClasspathEntriesResolver.java [93:133]
private void warnIfDuplicates(Ivy ivy, IvyClasspathContainerMapper mapper, Set<ArtifactDownloadReport> artifactReports) {
ArtifactDownloadReport[] reports = artifactReports.toArray(new ArtifactDownloadReport[0]);
Set<ModuleId> duplicates = new HashSet<>();
for (int i = 0; i < reports.length - 1; i++) {
if (!mapper.accept(reports[i].getArtifact())) {
continue;
}
ModuleRevisionId mrid1 = reports[i].getArtifact().getModuleRevisionId();
for (int j = i + 1; j < reports.length; j++) {
if (!mapper.accept(reports[j].getArtifact())) {
continue;
}
ModuleRevisionId mrid2 = reports[j].getArtifact().getModuleRevisionId();
if (mrid1.getModuleId().equals(mrid2.getModuleId())
&& !mrid1.getRevision().equals(mrid2.getRevision())) {
duplicates.add(mrid1.getModuleId());
break;
}
}
}
if (duplicates.isEmpty()) {
return;
}
StringBuilder buffer = new StringBuilder("There are some duplicates entries due to conflicts"
+ " between the resolved configurations " + conf.getConfs());
buffer.append(":\n - ");
Iterator<ModuleId> it = duplicates.iterator();
while (it.hasNext()) {
buffer.append(it.next());
if (it.hasNext()) {
buffer.append("\n - ");
}
}
IvyDEMessage.warn(buffer.toString());
}