}
pattern = getProperty(pattern, getSettings(), "ivy.retrieve.pattern");
try {
Filter artifactFilter = getArtifactFilter();
RetrieveReport report = getIvyInstance().retrieve(
getResolvedMrid(),
((RetrieveOptions) new RetrieveOptions()
.setLog(getLog()))
.setConfs(splitConfs(getConf()))
.setDestArtifactPattern(pattern)
.setDestIvyPattern(ivypattern)
.setArtifactFilter(artifactFilter)
.setSync(sync)
.setOverwriteMode(getOverwriteMode())
.setUseOrigin(isUseOrigin())
.setMakeSymlinks(symlink)
.setResolveId(getResolveId())
.setMapper(mapper == null ? null : new MapperAdapter(mapper)));
int targetsCopied = report.getNbrArtifactsCopied();
boolean haveTargetsBeenCopied = targetsCopied > 0;
getProject().setProperty("ivy.nb.targets.copied", String.valueOf(targetsCopied));
getProject().setProperty("ivy.targets.copied", String.valueOf(haveTargetsBeenCopied));
if (getPathId() != null) {
Path path = new Path(getProject());
getProject().addReference(getPathId(), path);
for (Iterator iter = report.getRetrievedFiles().iterator(); iter.hasNext(); ) {
path.createPathElement().setLocation((File) iter.next());
}
}
if (getSetId() != null) {
FileSet fileset = new FileSet();
fileset.setProject(getProject());
getProject().addReference(getSetId(), fileset);
fileset.setDir(report.getRetrieveRoot());
for (Iterator iter = report.getRetrievedFiles().iterator(); iter.hasNext(); ) {
PatternSet.NameEntry ne = fileset.createInclude();
ne.setName(getPath(report.getRetrieveRoot(), (File) iter.next()));
}
}
} catch (Exception ex) {
throw new BuildException("impossible to ivy retrieve: " + ex, ex);
}