* may have wildcards in the ID.
*/
private static Artifact findArtifact(Artifact query, URL[] repos, String username, String password, ResultsFileWriteMonitor monitor) throws MissingDependencyException {
if(query.getGroupId() == null || query.getArtifactId() == null || query.getType() == null) {
log.error("No support yet for dependencies missing more than a version: "+query);
throw new MissingDependencyException("No support yet for dependencies missing more than a version: "+query);
}
List list = new ArrayList();
for (int i = 0; i < repos.length; i++) {
list.add(repos[i]);
}
Artifact result = null;
for (int i = 0; i < list.size(); i++) {
URL url = (URL) list.get(i);
try {
result = findArtifact(query, url, username, password, monitor);
} catch (Exception e) {
log.warn("Unable to read from "+url, e);
}
if(result != null) {
return result;
}
}
log.error("No repository has a valid artifact for "+query);
throw new MissingDependencyException("No repository has a valid artifact for "+query);
}