private void maven2Validation()

in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/BanDuplicatePomDependencyVersions.java [73:128]


    private void maven2Validation(Model model) throws EnforcerRuleException {
        List<Dependency> dependencies = model.getDependencies();
        Map<String, Integer> duplicateDependencies = validateDependencies(dependencies);

        int duplicates = duplicateDependencies.size();

        StringBuilder summary = new StringBuilder();
        messageBuilder(duplicateDependencies, "dependencies.dependency", summary);

        if (model.getDependencyManagement() != null) {
            List<Dependency> managementDependencies =
                    model.getDependencyManagement().getDependencies();
            Map<String, Integer> duplicateManagementDependencies = validateDependencies(managementDependencies);
            duplicates += duplicateManagementDependencies.size();

            messageBuilder(duplicateManagementDependencies, "dependencyManagement.dependencies.dependency", summary);
        }

        List<Profile> profiles = model.getProfiles();
        for (Profile profile : profiles) {
            List<Dependency> profileDependencies = profile.getDependencies();

            Map<String, Integer> duplicateProfileDependencies = validateDependencies(profileDependencies);

            duplicates += duplicateProfileDependencies.size();

            messageBuilder(
                    duplicateProfileDependencies,
                    "profiles.profile[" + profile.getId() + "].dependencies.dependency",
                    summary);

            if (profile.getDependencyManagement() != null) {
                List<Dependency> profileManagementDependencies =
                        profile.getDependencyManagement().getDependencies();

                Map<String, Integer> duplicateProfileManagementDependencies =
                        validateDependencies(profileManagementDependencies);

                duplicates += duplicateProfileManagementDependencies.size();

                messageBuilder(
                        duplicateProfileManagementDependencies,
                        "profiles.profile[" + profile.getId() + "].dependencyManagement.dependencies.dependency",
                        summary);
            }
        }

        if (summary.length() > 0) {
            StringBuilder message = new StringBuilder();
            message.append("Found ").append(duplicates).append(" duplicate dependency ");
            message.append(duplicateDependencies.size() == 1 ? "declaration" : "declarations")
                    .append(" in this project:" + System.lineSeparator());
            message.append(summary);
            throw new EnforcerRuleException(message.toString());
        }
    }