in src/main/java/org/apache/easyant/tasks/IvyDependencyUpdateChecker.java [49:93]
public void doExecute() throws BuildException {
prepareAndCheck();
ModuleDescriptor originalModuleDescriptor = getResolvedReport().getModuleDescriptor();
// clone module descriptor
DefaultModuleDescriptor latestModuleDescriptor = new DefaultModuleDescriptor(
originalModuleDescriptor.getModuleRevisionId(), originalModuleDescriptor.getStatus(),
originalModuleDescriptor.getPublicationDate());
// copy configurations
for (int i = 0; i < originalModuleDescriptor.getConfigurations().length; i++) {
Configuration configuration = originalModuleDescriptor.getConfigurations()[i];
latestModuleDescriptor.addConfiguration(configuration);
}
// clone dependency and add new one with the requested revisionToCheck
for (int i = 0; i < originalModuleDescriptor.getDependencies().length; i++) {
DependencyDescriptor dependencyDescriptor = originalModuleDescriptor.getDependencies()[i];
ModuleRevisionId upToDateMrid = ModuleRevisionId.newInstance(
dependencyDescriptor.getDependencyRevisionId(), revisionToCheck);
latestModuleDescriptor.addDependency(dependencyDescriptor.clone(upToDateMrid));
}
// resolve
ResolveOptions resolveOptions = new ResolveOptions();
resolveOptions.setDownload(isDownload());
resolveOptions.setLog(getLog());
resolveOptions.setConfs(splitConfs(getConf()));
resolveOptions.setCheckIfChanged(checkIfChanged);
ResolveReport latestReport;
try {
latestReport = getIvyInstance().getResolveEngine().resolve(latestModuleDescriptor, resolveOptions);
displayDependencyUpdates(getResolvedReport(), latestReport);
if (showTransitive) {
displayNewDependencyOnLatest(getResolvedReport(), latestReport);
displayMissingDependencyOnLatest(getResolvedReport(), latestReport);
}
} catch (ParseException e) {
throw new BuildException("impossible to resolve dependencies:\n\t" + e, e);
} catch (IOException e) {
throw new BuildException("impossible to resolve dependencies:\n\t" + e, e);
}
}