*/
public static void append (IClassDependencyPool pool, IClassPackageResolver resolver, boolean primary, IClassPackageDescriptor descriptor, IClassPackageDependencyReference... references) {
log.info("Resolution starting: " + new Date());
List<ClassPackageResolverNetworkNode> download = new ArrayList<ClassPackageResolverNetworkNode>();
ClassPackageResolverContext network = descriptor != null ? new ClassPackageResolverContext(descriptor) : new ClassPackageResolverContext();
for (IClassPackageDependencyReference reference : references) {
resolver.resolve(network, reference);
}
for (ClassPackageResolverNetworkNode dl : network.getDownloadable()) {
download.add(dl);
}
if (download.size() > 0) {
downloadDependencies(resolver, download.toArray(new ClassPackageResolverNetworkNode[download.size()]));
}
log.info("Resolution complete: " + new Date());
List<ClassPackageResolverNetworkNode> available = network.getAvailable();
for (ClassPackageResolverNetworkNode node : available) {
if (node.getResolution() == null) {
log.fatal("Could not resolve: " + node.getDescriptor());
continue;
}