// use maven-metadata.xml if it exists
InputStream metadataStream = null;
try {
String metadataLocation = IvyPatternHelper.substitute(
root + "[organisation]/[module]/maven-metadata.xml", mrid);
Resource metadata = repository.getResource(metadataLocation);
if (metadata.exists()) {
Message.verbose("\tlisting revisions from maven-metadata: " + metadata);
final List revs = new ArrayList();
metadataStream = metadata.openStream();
XMLHelper.parse(metadataStream, null, new ContextualSAXHandler() {
public void endElement(String uri, String localName, String qName)
throws SAXException {
if ("metadata/versioning/versions/version".equals(getContext())) {
revs.add(getText().trim());
}
super.endElement(uri, localName, qName);
}
}, null);
Message.debug("\tfound revs: " + revs);
List rres = new ArrayList();
for (Iterator iter = revs.iterator(); iter.hasNext();) {
String rev = (String) iter.next();
String resolvedPattern = IvyPatternHelper.substitute(
pattern, ModuleRevisionId.newInstance(mrid, rev), artifact);
try {
Resource res = repository.getResource(resolvedPattern);
if ((res != null) && res.exists()) {
rres.add(new ResolvedResource(res, rev));
}
} catch (IOException e) {
Message.warn(
"impossible to get resource from name listed by maven-metadata.xml:"