modules.put(m.asDependency(),m); modules.put(m.asDependency().withUnknownVersion(),m); modules.put(m.asDependency(),m); modules.put(m.asDependency().withUnknownVersion(),m);
ModuleDependency moduleDependency = m.asDependency(); MavenModule old = modules.get(moduleDependency); MavenModule relevant = chooseMoreRelevantModule(old, m); ModuleDependency moduleDependency = m.asDependency().withUnknownVersion(); data.allModules.put(moduleDependency,m); ModuleDependency moduleDependency = m.asDependency(); myParentsModules.put(moduleDependency,m); if (hasDependenciesWithUnknownVersion) {
private MavenModule chooseMoreRelevantModule(MavenModule mm1, MavenModule mm2) { if (mm1 == null) { return mm2; } if (mm2 == null) { return mm1; } int score = mm1.getDependencyRelevancy() - mm2.getDependencyRelevancy(); if (score==0) { // tie breaker. this is arbitrary, but reproduceable score = mm1.getParent().getFullName().compareTo(mm2.getParent().getFullName()); } assert score!=0; final MavenModule moreRelevant, lessRelevant; if (score>0) { moreRelevant = mm1; lessRelevant = mm2; } else { moreRelevant = mm2; lessRelevant = mm1; } if (LOGGER.isLoggable(Level.FINER)) { LOGGER.finer("Choosing " + moreRelevant.getParent().getName() + " over " + lessRelevant.getParent().getName() + " for module " + mm1.asDependency().getName() + ". Relevancies: " + mm1.getDependencyRelevancy() + ", " + mm2.getDependencyRelevancy()); } return moreRelevant; }