Skip to content

Commit dffcefe

Browse files
committed
Merge branch '3.5.x' into 4.0.x
2 parents f201792 + 01b33bf commit dffcefe

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

  • buildSrc/src/main/java/org/springframework/boot/build/bom

buildSrc/src/main/java/org/springframework/boot/build/bom/Library.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.File;
2020
import java.util.ArrayList;
2121
import java.util.Arrays;
22+
import java.util.Collection;
2223
import java.util.Collections;
2324
import java.util.HashMap;
2425
import java.util.HashSet;
@@ -27,6 +28,7 @@
2728
import java.util.Map;
2829
import java.util.Set;
2930
import java.util.TreeMap;
31+
import java.util.concurrent.TimeUnit;
3032
import java.util.function.Function;
3133
import java.util.function.Predicate;
3234
import java.util.regex.Matcher;
@@ -429,6 +431,13 @@ public interface VersionAlignment {
429431

430432
Set<String> resolve();
431433

434+
default Configuration alignmentConfiguration(Project project, Collection<Dependency> dependencies) {
435+
Configuration alignmentConfiguration = project.getConfigurations()
436+
.detachedConfiguration(dependencies.toArray(new Dependency[0]));
437+
alignmentConfiguration.getResolutionStrategy().cacheChangingModulesFor(0, TimeUnit.SECONDS);
438+
return alignmentConfiguration;
439+
}
440+
432441
}
433442

434443
public static class BomAlignment {
@@ -514,8 +523,7 @@ public Set<String> resolve() {
514523

515524
private Map<String, String> resolveAligningDependencies() {
516525
List<Dependency> dependencies = getAligningDependencies();
517-
Configuration alignmentConfiguration = this.project.getConfigurations()
518-
.detachedConfiguration(dependencies.toArray(new Dependency[0]));
526+
Configuration alignmentConfiguration = alignmentConfiguration(this.project, dependencies);
519527
Map<String, String> versions = new HashMap<>();
520528
ResolutionResult resolutionResult = alignmentConfiguration.getIncoming().getResolutionResult();
521529
for (DependencyResult dependency : resolutionResult.getAllDependencies()) {
@@ -627,8 +635,7 @@ public Set<String> resolve() {
627635
if (this.alignedVersions != null) {
628636
return this.alignedVersions;
629637
}
630-
Configuration alignmentConfiguration = this.project.getConfigurations()
631-
.detachedConfiguration(getAligningDependencies().toArray(new Dependency[0]));
638+
Configuration alignmentConfiguration = alignmentConfiguration(this.project, getAligningDependencies());
632639
Set<File> files = alignmentConfiguration.resolve();
633640
if (files.size() != 1) {
634641
throw new IllegalStateException(

0 commit comments

Comments
 (0)