in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/ReactorModuleConvergence.java [106:133]
private void checkDependenciesWithinReactor(List<MavenProject> sortedProjects) throws EnforcerRuleException {
// After we are sure having consistent version we can simply use the first one?
String reactorVersion = sortedProjects.get(0).getVersion();
Map<MavenProject, List<Dependency>> areThereDependenciesWhichAreNotPartOfTheReactor =
areThereDependenciesWhichAreNotPartOfTheReactor(reactorVersion, sortedProjects);
if (!areThereDependenciesWhichAreNotPartOfTheReactor.isEmpty()) {
StringBuilder sb = new StringBuilder().append(System.lineSeparator());
addMessageIfExist(sb);
// CHECKSTYLE_OFF: LineLength
for (Entry<MavenProject, List<Dependency>> item :
areThereDependenciesWhichAreNotPartOfTheReactor.entrySet()) {
sb.append(MODULE_TEXT);
sb.append(item.getKey().getId());
sb.append(System.lineSeparator());
for (Dependency dependency : item.getValue()) {
String id =
dependency.getGroupId() + ":" + dependency.getArtifactId() + ":" + dependency.getVersion();
sb.append(" dependency: ");
sb.append(id);
sb.append(System.lineSeparator());
}
}
throw new EnforcerRuleException(
"Reactor modules contains dependencies which do not reference the reactor." + sb);
// CHECKSTYLE_ON: LineLength
}
}