in src/main/java/org/apache/maven/plugin/doap/DoapMojo.java [903:974]
private void writeProgrammingLanguage(XMLWriter writer, MavenProject project) {
if (StringUtils.isEmpty(doapOptions.getProgrammingLanguage()) && (language == null || language.isEmpty())) {
messages.addMessage(
new String[] {"doapOptions", "programmingLanguage"},
null,
UserMessages.REQUIRED_BY_ASF_OR_RECOMMENDED);
return;
}
boolean addComment = false;
String comment = "Programming language.";
if (language != null && !language.isEmpty()) // backward compatible
{
getLog().warn("The <language/> parameter is deprecated, please use "
+ messages.toConfiguration(new String[] {"doapOptions", "programmingLanguage"}, null)
+ " parameter instead of.");
language = language.trim();
if (asfExtOptions.isIncluded()) {
String asfLanguage = ASFExtOptionsUtil.getProgrammingLanguageSupportedByASF(language);
if (asfLanguage == null) {
messages.getErrorMessages()
.add("The deprecated " + messages.toConfiguration(new String[] {"language"}, language)
+ " parameter is not supported by ASF. Should be one of "
+ Arrays.toString(ASFExtOptionsUtil.PROGRAMMING_LANGUAGES));
} else {
DoapUtil.writeComment(writer, comment);
addComment = true;
DoapUtil.writeElement(
writer, doapOptions.getXmlnsPrefix(), "programming-language", asfLanguage.trim());
}
} else {
DoapUtil.writeComment(writer, comment);
addComment = true;
DoapUtil.writeElement(writer, doapOptions.getXmlnsPrefix(), "programming-language", language.trim());
}
}
if (StringUtils.isNotEmpty(doapOptions.getProgrammingLanguage())) {
String[] languages = StringUtils.split(doapOptions.getProgrammingLanguage(), ",");
for (String language : languages) {
language = language.trim();
if (asfExtOptions.isIncluded()) {
String asfLanguage = ASFExtOptionsUtil.getProgrammingLanguageSupportedByASF(language);
if (asfLanguage == null) {
messages.getErrorMessages()
.add("The "
+ messages.toConfiguration(
new String[] {"doapOptions", "programmingLanguage"}, language)
+ " parameter is not supported by ASF. "
+ "Should be one of "
+ Arrays.toString(ASFExtOptionsUtil.PROGRAMMING_LANGUAGES));
} else {
if (!addComment) {
DoapUtil.writeComment(writer, comment);
addComment = true;
}
DoapUtil.writeElement(
writer, doapOptions.getXmlnsPrefix(), "programming-language", asfLanguage);
}
} else {
if (!addComment) {
DoapUtil.writeComment(writer, comment);
addComment = true;
}
DoapUtil.writeElement(writer, doapOptions.getXmlnsPrefix(), "programming-language", language);
}
}
}
}