diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/DefaultPendingDependenciesVisitor.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/DefaultPendingDependenciesVisitor.java index 6d2030b41783..2c174a8a534d 100644 --- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/DefaultPendingDependenciesVisitor.java +++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/DefaultPendingDependenciesVisitor.java @@ -68,7 +68,7 @@ private boolean markNoLongerPending(PendingDependencies pendingDependencies) { noLongerPending = Lists.newLinkedList(); } noLongerPending.add(pendingDependencies); - activatedPending = true; + activatedPending = pendingDependencies.shouldReportActivatePending(); } pendingDependencies.increaseHardEdgeCount(); return activatedPending; diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/PendingDependencies.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/PendingDependencies.java index 5d2a0e2544a7..1f2a70ae9774 100644 --- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/PendingDependencies.java +++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/PendingDependencies.java @@ -24,11 +24,13 @@ public class PendingDependencies { private final ModuleIdentifier moduleIdentifier; private final Set affectedComponents; private int hardEdges; + private boolean reportActivePending; PendingDependencies(ModuleIdentifier moduleIdentifier) { this.moduleIdentifier = moduleIdentifier; this.affectedComponents = Sets.newLinkedHashSet(); this.hardEdges = 0; + this.reportActivePending = true; } ModuleIdentifier getModuleIdentifier() { @@ -40,6 +42,9 @@ void addNode(NodeState state) { throw new IllegalStateException("Cannot add a pending node for a dependency which is not pending"); } affectedComponents.add(state); + if (state.getComponent().getModule().isVirtualPlatform()) { + reportActivePending = false; + } } void turnIntoHardDependencies() { @@ -47,6 +52,7 @@ void turnIntoHardDependencies() { affectedComponent.prepareForConstraintNoLongerPending(moduleIdentifier); } affectedComponents.clear(); + reportActivePending = true; } public boolean isPending() { @@ -65,4 +71,8 @@ void decreaseHardEdgeCount() { assert hardEdges > 0 : "Cannot remove a hard edge when none recorded"; hardEdges--; } + + public boolean shouldReportActivatePending() { + return reportActivePending; + } }