public void execute()

in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireSameVersions.java [68:96]


    public void execute() throws EnforcerRuleException {
        // consider including profile based artifacts
        Map<String, List<String>> versionMembers = new LinkedHashMap<>();

        // CHECKSTYLE_OFF: LineLength
        versionMembers.putAll(collectVersionMembers(project.getArtifacts(), dependencies, " (dependency)"));
        versionMembers.putAll(collectVersionMembers(project.getPluginArtifacts(), buildPlugins, " (buildPlugin)"));
        versionMembers.putAll(collectVersionMembers(project.getReportArtifacts(), reportPlugins, " (reportPlugin)"));
        // CHECKSTYLE_ON: LineLength

        if (versionMembers.size() > 1) {
            StringBuilder builder = new StringBuilder("Found entries with different versions" + System.lineSeparator());
            for (Map.Entry<String, List<String>> entry : versionMembers.entrySet()) {
                builder.append("Entries with version ").append(entry.getKey()).append(System.lineSeparator());
                for (String conflictId : entry.getValue()) {
                    builder.append("- ").append(conflictId).append(System.lineSeparator());
                }
            }
            throw new EnforcerRuleException(builder.toString());
        }

        if (sameModuleVersions) {
            MavenProject topLevelProject = session.getTopLevelProject();
            if (!Objects.equals(topLevelProject.getVersion(), project.getVersion())) {
                throw new EnforcerRuleException("Top level project has version " + topLevelProject.getVersion()
                        + " but current module has different version " + project.getVersion());
            }
        }
    }