in src/main/java/org/apache/maven/plugin/doap/DoapMojo.java [1498:1545]
private void writeContributors(XMLWriter writer, List<Contributor> contributors) {
if (contributors == null || contributors.isEmpty()) {
return;
}
boolean isDeveloper =
Developer.class.isAssignableFrom(contributors.get(0).getClass());
if (isDeveloper) {
DoapUtil.writeComment(writer, "Main committers.");
} else {
DoapUtil.writeComment(writer, "Contributed persons.");
}
List<Contributor> maintainers = DoapUtil.getContributorsWithMaintainerRole(i18n, contributors);
List<Contributor> developers = DoapUtil.getContributorsWithDeveloperRole(i18n, contributors);
List<Contributor> documenters = DoapUtil.getContributorsWithDocumenterRole(i18n, contributors);
List<Contributor> translators = DoapUtil.getContributorsWithTranslatorRole(i18n, contributors);
List<Contributor> testers = DoapUtil.getContributorsWithTesterRole(i18n, contributors);
List<Contributor> helpers = DoapUtil.getContributorsWithHelperRole(i18n, contributors);
List<Contributor> unknowns = DoapUtil.getContributorsWithUnknownRole(i18n, contributors);
// By default, all developers are maintainers and contributors are helpers
if (isDeveloper) {
maintainers.addAll(unknowns);
} else {
helpers.addAll(unknowns);
}
// all alphabetical
if (developers.size() != 0) {
writeContributor(writer, developers, "developer");
}
if (documenters.size() != 0) {
writeContributor(writer, documenters, "documenter");
}
if (helpers.size() != 0) {
writeContributor(writer, helpers, "helper");
}
if (maintainers.size() != 0) {
writeContributor(writer, maintainers, "maintainer");
}
if (testers.size() != 0) {
writeContributor(writer, testers, "tester");
}
if (translators.size() != 0) {
writeContributor(writer, translators, "translator");
}
}