public void execute()

in enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireProfileIdsExist.java [50:90]


    public void execute() throws EnforcerRuleException {

        List<String> profileIds = new ArrayList<>();
        profileIds.addAll(session.getProjectBuildingRequest().getActiveProfileIds());
        profileIds.addAll(session.getProjectBuildingRequest().getInactiveProfileIds());

        for (MavenProject project : session.getProjects()) {
            // iterate over all parents
            MavenProject currentProject = project;
            do {
                for (org.apache.maven.model.Profile profile :
                        currentProject.getModel().getProfiles()) {
                    profileIds.remove(profile.getId());

                    if (profileIds.isEmpty()) {
                        return;
                    }
                }

                currentProject = currentProject.getParent();
            } while (currentProject != null);
        }

        for (org.apache.maven.settings.Profile profile : session.getSettings().getProfiles()) {
            profileIds.remove(profile.getId());
        }

        if (profileIds.isEmpty()) {
            return;
        }

        StringBuilder sb = new StringBuilder();
        if (profileIds.size() > 1) {
            sb.append("The requested profiles don't exist: ");
        } else {
            sb.append("The requested profile doesn't exist: ");
        }
        sb.append(StringUtils.join(profileIds.iterator(), ", "));

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