public void execute()

in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireNoRepositories.java [127:203]


    public void execute() throws EnforcerRuleException {

        // Maven 4 Model contains repositories defined in settings.xml
        // As workaround we exclude repositories defined in settings.xml
        // https://issues.apache.org/jira/browse/MNG-7228
        if (banRepositories) {
            Collection<String> reposIdsFromSettings = getRepoIdsFromSettings(Profile::getRepositories);
            if (!reposIdsFromSettings.isEmpty()) {
                getLog().debug(() -> "Allow repositories from settings: " + reposIdsFromSettings);
            }

            allowedRepositories = Optional.ofNullable(allowedRepositories).orElseGet(ArrayList::new);
            allowedRepositories.addAll(reposIdsFromSettings);
        }

        if (banPluginRepositories) {
            Collection<String> reposIdsFromSettings = getRepoIdsFromSettings(Profile::getPluginRepositories);
            if (!reposIdsFromSettings.isEmpty()) {
                getLog().debug(() -> "Allow plugin repositories from settings: " + reposIdsFromSettings);
            }

            allowedPluginRepositories =
                    Optional.ofNullable(allowedPluginRepositories).orElseGet(ArrayList::new);
            allowedPluginRepositories.addAll(reposIdsFromSettings);
        }

        List<MavenProject> sortedProjects = session.getProjectDependencyGraph().getSortedProjects();

        List<Model> models = new ArrayList<>();
        for (MavenProject mavenProject : sortedProjects) {
            getLog().debug("Scanning project: " + mavenProject.getGroupId() + ":" + mavenProject.getArtifactId()
                    + VERSION + mavenProject.getVersion());
            models.add(mavenProject.getOriginalModel());
        }

        List<Model> badModels = new ArrayList<>();

        StringBuilder newMsg = new StringBuilder();
        newMsg.append("Some poms have repositories defined:" + System.lineSeparator());

        for (Model model : models) {
            if (banRepositories) {
                List<Repository> repos = model.getRepositories();
                if (repos != null && !repos.isEmpty()) {
                    List<String> bannedRepos =
                            findBannedRepositories(repos, allowedRepositories, allowSnapshotRepositories);
                    if (!bannedRepos.isEmpty()) {
                        badModels.add(model);
                        newMsg.append(model.getGroupId() + ":" + model.getArtifactId() + VERSION + model.getVersion()
                                + " has repositories " + bannedRepos);
                    }
                }
            }
            if (banPluginRepositories) {
                List<Repository> repos = model.getPluginRepositories();
                if (repos != null && !repos.isEmpty()) {
                    List<String> bannedRepos =
                            findBannedRepositories(repos, allowedPluginRepositories, allowSnapshotPluginRepositories);
                    if (!bannedRepos.isEmpty()) {
                        badModels.add(model);
                        newMsg.append(model.getGroupId() + ":" + model.getArtifactId() + VERSION + model.getVersion()
                                + " has plugin repositories " + bannedRepos);
                    }
                }
            }
        }

        // if anything was found, log it then append the
        // optional message.
        if (!badModels.isEmpty()) {
            if (StringUtils.isNotEmpty(getMessage())) {
                newMsg.append(getMessage());
            }

            throw new EnforcerRuleException(newMsg.toString());
        }
    }