return false;
}
protected boolean resolveInternally (ClassPackageResolverContext ctx) {
IClassPackageRepositoryLocal found = this.repository;
IClassPackageDescriptor descriptor = found.getDescriptor(this, ctx.getCurrentDependency());
if (descriptor == null) {
for (IClassPackageRepositoryLocal local : this.locals) {
found = local;
descriptor = local.getDescriptor(this, ctx.getCurrentDependency());
if (descriptor != null) break;
}
}
if (descriptor == null) return false;
if (descriptor.getRelocation() != null) {
ClassPackageReferenceImpl ref = ClassPackageReferenceImpl.getRelocation(ctx.getCurrentDependency(), descriptor.getRelocation());
ClassPackageDependencyReferenceImpl dep = new ClassPackageDependencyReferenceImpl(ref);
this.resolve(ctx.popNode().pushNode(dep, null));
return ctx.getResolved(ref).getType() != Type.Unavailable;
}
ClassSource src = found.getMainClassSource(this, ctx.getCurrentDependency());
if (src == null) {
// This probably means the descriptor was downloaded, but the source was not
if (descriptor.isDescriptorOnly()) {
ctx.setAvailable(this, found, null, descriptor);
return true;