in gshell-support/gshell-artifact-ivy/src/main/java/org/apache/geronimo/gshell/artifact/ivy/ArtifactResolverImpl.java [64:116]
public Result resolve(final Request request) throws Failure {
assert request != null;
ResolveOptions options = new ResolveOptions();
options.setOutputReport(true);
options.setTransitive(true);
AndArtifactFilter filter = new AndArtifactFilter();
options.setArtifactFilter(filter);
// Filter deps needed for use of apache-ivy
filter.add(new IvyDependenciesFilter());
if (request.filter != null) {
log.debug("Filter: {}", request.filter);
filter.add(new Filter() {
public boolean accept(final Object obj) {
if (!(obj instanceof org.apache.ivy.core.module.descriptor.Artifact)) {
return false;
}
Artifact artifact = createArtifact((org.apache.ivy.core.module.descriptor.Artifact)obj);
return request.filter.accept(artifact);
}
});
}
ModuleDescriptor md = createModuleDescriptor(request);
Result result = new Result();
try {
ResolveReport resolveReport = ivy.resolve(md, options);
result.artifacts = new LinkedHashSet<Artifact>();
log.debug("Resolved:");
for (ArtifactDownloadReport downloadReport : resolveReport.getAllArtifactsReports()) {
Artifact artifact = createArtifact(downloadReport.getArtifact());
artifact.setFile(downloadReport.getLocalFile());
log.debug(" {}", artifact);
result.artifacts.add(artifact);
}
}
catch (Exception e) {
throw new Failure(e);
}
return result;
}