public void execute()

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


    public void execute() throws EnforcerRuleException {

        // consider including profile based artifacts
        Map<String, List<String>> versionMembers = new LinkedHashMap<>();

        Set<String> buildPluginSet = new HashSet<>(buildPlugins);
        buildPluginSet.addAll(plugins);
        Set<String> reportPluginSet = new HashSet<>(reportPlugins);
        reportPluginSet.addAll(plugins);

        // 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());
        }
    }