diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java index d7b5cd9cb..1cd631f1e 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java @@ -458,6 +458,30 @@ protected static List filterVersions( return versions; } + protected ArtifactDescriptorResult resolveCachedArtifactDescriptor( + DataPool pool, + ArtifactDescriptorRequest descriptorRequest, + RepositorySystemSession session, + Dependency d, + Results results, + List nodes) { + Object key = pool.toKey(descriptorRequest); + ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest); + if (descriptorResult == null) { + try { + descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest); + pool.putDescriptor(key, descriptorResult); + } catch (ArtifactDescriptorException e) { + results.addException(d, e, nodes); + pool.putDescriptor(key, e); + return null; + } + } else if (descriptorResult == DataPool.NO_DESCRIPTOR) { + return null; + } + return descriptorResult; + } + /** * Helper class used during collection. */ diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java index fcef0bbab..9830b9d7a 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java @@ -67,7 +67,6 @@ import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate; import org.eclipse.aether.internal.impl.collect.PremanagedDependency; import org.eclipse.aether.repository.RemoteRepository; -import org.eclipse.aether.resolution.ArtifactDescriptorException; import org.eclipse.aether.resolution.ArtifactDescriptorRequest; import org.eclipse.aether.resolution.ArtifactDescriptorResult; import org.eclipse.aether.resolution.VersionRangeRequest; @@ -467,32 +466,12 @@ private ArtifactDescriptorResult resolveDescriptorForVersion( return isLackingDescriptor(args.session, newArtifact) ? new ArtifactDescriptorResult(descriptorRequest) : resolveCachedArtifactDescriptor( - args.pool, descriptorRequest, args.session, newContext.withDependency(newDependency), results); - } - - private ArtifactDescriptorResult resolveCachedArtifactDescriptor( - DataPool pool, - ArtifactDescriptorRequest descriptorRequest, - RepositorySystemSession session, - DependencyProcessingContext context, - Results results) { - Object key = pool.toKey(descriptorRequest); - ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest); - if (descriptorResult == null) { - try { - descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest); - pool.putDescriptor(key, descriptorResult); - } catch (ArtifactDescriptorException e) { - results.addException(context.dependency, e, context.parents); - pool.putDescriptor(key, e); - return null; - } - - } else if (descriptorResult == DataPool.NO_DESCRIPTOR) { - return null; - } - - return descriptorResult; + args.pool, + descriptorRequest, + args.session, + newContext.withDependency(newDependency).dependency, + results, + context.parents); } static class ParallelDescriptorResolver implements Closeable { diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java index 5ce067c9b..de6773782 100644 --- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java +++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java @@ -48,7 +48,6 @@ import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate; import org.eclipse.aether.internal.impl.collect.PremanagedDependency; import org.eclipse.aether.repository.RemoteRepository; -import org.eclipse.aether.resolution.ArtifactDescriptorException; import org.eclipse.aether.resolution.ArtifactDescriptorRequest; import org.eclipse.aether.resolution.ArtifactDescriptorResult; import org.eclipse.aether.resolution.VersionRangeRequest; @@ -368,33 +367,8 @@ private ArtifactDescriptorResult getArtifactDescriptorResult( ArtifactDescriptorRequest descriptorRequest) { return noDescriptor ? new ArtifactDescriptorResult(descriptorRequest) - : resolveCachedArtifactDescriptor(args.pool, descriptorRequest, args.session, d, results, args); - } - - private ArtifactDescriptorResult resolveCachedArtifactDescriptor( - DataPool pool, - ArtifactDescriptorRequest descriptorRequest, - RepositorySystemSession session, - Dependency d, - Results results, - Args args) { - Object key = pool.toKey(descriptorRequest); - ArtifactDescriptorResult descriptorResult = pool.getDescriptor(key, descriptorRequest); - if (descriptorResult == null) { - try { - descriptorResult = descriptorReader.readArtifactDescriptor(session, descriptorRequest); - pool.putDescriptor(key, descriptorResult); - } catch (ArtifactDescriptorException e) { - results.addException(d, e, args.nodes.nodes); - pool.putDescriptor(key, e); - return null; - } - - } else if (descriptorResult == DataPool.NO_DESCRIPTOR) { - return null; - } - - return descriptorResult; + : resolveCachedArtifactDescriptor( + args.pool, descriptorRequest, args.session, d, results, args.nodes.nodes); } static class Args {