diff --git a/subprojects/dependency-management/src/integTest/groovy/org/gradle/integtests/resolve/alignment/ForcingPlatformAlignmentTest.groovy b/subprojects/dependency-management/src/integTest/groovy/org/gradle/integtests/resolve/alignment/ForcingPlatformAlignmentTest.groovy index b9e3bba3deb4..d5a8a2ba3b2a 100644 --- a/subprojects/dependency-management/src/integTest/groovy/org/gradle/integtests/resolve/alignment/ForcingPlatformAlignmentTest.groovy +++ b/subprojects/dependency-management/src/integTest/groovy/org/gradle/integtests/resolve/alignment/ForcingPlatformAlignmentTest.groovy @@ -803,7 +803,6 @@ include 'other' @RequiredFeatures([ @RequiredFeature(feature = GradleMetadataResolveRunner.REPOSITORY_TYPE, value = "maven"), @RequiredFeature(feature = GradleMetadataResolveRunner.EXPERIMENTAL_RESOLVE_BEHAVIOR, value = "true"), - @RequiredFeature(feature = GradleMetadataResolveRunner.GRADLE_METADATA, value = "false"), ]) def "can force a published platform version by forcing the platform itself via a dependency"() { repository { diff --git a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/NodeState.java b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/NodeState.java index 6424ee9fa8f7..366be155c80e 100644 --- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/NodeState.java +++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/resolveengine/graph/builder/NodeState.java @@ -362,6 +362,7 @@ private List dependencies() { if (dependenciesMayChange) { cachedDependencyStates = null; cachedFilteredDependencyStates = null; + moduleIdToConstraints = null; } return metaData.getDependencies(); } @@ -391,12 +392,7 @@ private List cacheDependencyStates(List tmp = Lists.newArrayListWithCapacity(size); for (DependencyMetadata dependency : dependencies) { - DependencyState ds = cachedDependencyStateFor(dependency); - if (dependency.isConstraint()) { - initializeModuleIdToConstraintMap(size); - moduleIdToConstraints.put(ds.getModuleIdentifier(), ds); - } - tmp.add(ds); + tmp.add(cachedDependencyStateFor(dependency)); } return tmp; } @@ -419,7 +415,13 @@ private void createAndLinkEdgeState(DependencyState dependencyState, Collection< */ private void visitAdditionalConstraints(Collection discoveredEdges) { if (moduleIdToConstraints == null) { - return; + for (DependencyState dependencyState : cachedDependencyStates) { + DependencyMetadata dependency = dependencyState.getDependency(); + if (dependency.isConstraint()) { + initializeModuleIdToConstraintMap(cachedDependencyStates.size()); + moduleIdToConstraints.put(dependencyState.getModuleIdentifier(), dependencyState); + } + } } for (ModuleIdentifier module : upcomingNoLongerPendingConstraints) { Collection dependencyStates = moduleIdToConstraints.get(module);