in src/main/java/org/apache/maven/plugin/doap/DoapMojo.java [1459:1490]
private void writeSourceRepository(XMLWriter writer, MavenProject project, String connection) {
ScmRepository repository = getScmRepository(connection);
DoapUtil.writeStartElement(writer, doapOptions.getXmlnsPrefix(), "repository");
if (isScmSystem(repository, "svn")) {
DoapUtil.writeStartElement(writer, doapOptions.getXmlnsPrefix(), "SVNRepository");
SvnScmProviderRepository svnRepo = (SvnScmProviderRepository) repository.getProviderRepository();
DoapUtil.writeRdfResourceElement(writer, doapOptions.getXmlnsPrefix(), "location", svnRepo.getUrl());
} else {
/*
* Supported DOAP repositories actually unsupported by SCM: BitKeeper
* (http://usefulinc.com/ns/doap#BKRepository) Arch (http://usefulinc.com/ns/doap#ArchRepository) Other SCM
* repos are unsupported by DOAP.
*/
DoapUtil.writeStartElement(writer, doapOptions.getXmlnsPrefix(), "Repository");
if (connection.length() < 4) {
throw new IllegalArgumentException("The source repository connection is too short.");
}
DoapUtil.writeRdfResourceElement(writer, doapOptions.getXmlnsPrefix(), "location", connection.substring(4));
}
DoapUtil.writeRdfResourceElement(
writer, doapOptions.getXmlnsPrefix(), "browse", project.getScm().getUrl());
writer.endElement(); // SVNRepository || Repository
writer.endElement(); // repository
}