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