Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,9 @@ protected void doCollectDependencies(

List<DependencyNode> parents = Collections.singletonList(node);
for (Dependency dependency : dependencies) {
if (rootDepSelector != null && !rootDepSelector.selectDependency(dependency)) {
continue;
}
RequestTrace childTrace =
collectStepTrace(trace, args.request.getRequestContext(), parents, dependency);
DependencyProcessingContext processingContext = new DependencyProcessingContext(
Expand All @@ -210,11 +213,9 @@ protected void doCollectDependencies(
parents,
dependency,
PremanagedDependency.create(rootDepManager, dependency, false, args.premanagedState));
if (!filter(processingContext)) {
processingContext.withDependency(processingContext.premanagedDependency.getManagedDependency());
resolveArtifactDescriptorAsync(args, processingContext, results);
args.dependencyProcessingQueue.add(processingContext);
}
processingContext.withDependency(processingContext.premanagedDependency.getManagedDependency());
resolveArtifactDescriptorAsync(args, processingContext, results);
args.dependencyProcessingQueue.add(processingContext);
}

while (!args.dependencyProcessingQueue.isEmpty()) {
Expand Down Expand Up @@ -282,27 +283,28 @@ private void processDependency(
}

if (!descriptorResult.getRelocations().isEmpty()) {
boolean disableVersionManagementSubsequently =
originalArtifact.getGroupId().equals(d.getArtifact().getGroupId())
&& originalArtifact
.getArtifactId()
.equals(d.getArtifact().getArtifactId());

PremanagedDependency premanagedDependency = PremanagedDependency.create(
context.depManager, d, disableVersionManagementSubsequently, args.premanagedState);
DependencyProcessingContext relocatedContext = new DependencyProcessingContext(
context.depSelector,
context.depManager,
context.depTraverser,
context.verFilter,
context.trace,
context.repositories,
descriptorResult.getManagedDependencies(),
context.parents,
d,
premanagedDependency);
if (context.depSelector == null || context.depSelector.selectDependency(d)) {
boolean disableVersionManagementSubsequently = originalArtifact
.getGroupId()
.equals(d.getArtifact().getGroupId())
&& originalArtifact
.getArtifactId()
.equals(d.getArtifact().getArtifactId());

PremanagedDependency premanagedDependency = PremanagedDependency.create(
context.depManager, d, disableVersionManagementSubsequently, args.premanagedState);
DependencyProcessingContext relocatedContext = new DependencyProcessingContext(
context.depSelector,
context.depManager,
context.depTraverser,
context.verFilter,
context.trace,
context.repositories,
descriptorResult.getManagedDependencies(),
context.parents,
d,
premanagedDependency);

if (!filter(relocatedContext)) {
relocatedContext.withDependency(premanagedDependency.getManagedDependency());
resolveArtifactDescriptorAsync(args, relocatedContext, results);
processDependency(
Expand All @@ -312,7 +314,6 @@ private void processDependency(
descriptorResult.getRelocations(),
disableVersionManagementSubsequently);
}

return;
} else {
d = args.pool.intern(d.setArtifact(args.pool.intern(d.getArtifact())));
Expand Down Expand Up @@ -404,6 +405,9 @@ private void doRecurse(
parents.addAll(parentContext.parents);
parents.add(child);
for (Dependency dependency : descriptorResult.getDependencies()) {
if (childSelector != null && !childSelector.selectDependency(dependency)) {
continue;
}
RequestTrace childTrace = collectStepTrace(
parentContext.trace, args.request.getRequestContext(), parents, dependency);
PremanagedDependency premanagedDependency = PremanagedDependency.create(
Expand All @@ -419,12 +423,10 @@ private void doRecurse(
parents,
dependency,
premanagedDependency);
if (!filter(processingContext)) {
// resolve descriptors ahead for managed dependency
processingContext.withDependency(processingContext.premanagedDependency.getManagedDependency());
resolveArtifactDescriptorAsync(args, processingContext, results);
args.dependencyProcessingQueue.add(processingContext);
}
// resolve descriptors ahead for managed dependency
processingContext.withDependency(processingContext.premanagedDependency.getManagedDependency());
resolveArtifactDescriptorAsync(args, processingContext, results);
args.dependencyProcessingQueue.add(processingContext);
}
args.pool.putChildren(key, child.getChildren());
args.skipper.cache(child, parents);
Expand All @@ -434,10 +436,6 @@ private void doRecurse(
}
}

private boolean filter(DependencyProcessingContext context) {
return context.depSelector != null && !context.depSelector.selectDependency(context.dependency);
}

private void resolveArtifactDescriptorAsync(Args args, DependencyProcessingContext context, Results results) {
Dependency dependency = context.dependency;
args.resolver.resolveDescriptors(dependency.getArtifact(), () -> {
Expand Down
Loading