Merge branch '3.3.x'

Closes gh-42784
This commit is contained in:
Andy Wilkinson 2024-10-18 12:55:45 +01:00
commit 66577e8cc3
1 changed files with 14 additions and 1 deletions

View File

@ -18,6 +18,7 @@ package org.springframework.boot.build.bom.bomr;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -52,7 +53,12 @@ public final class InteractiveUpgradeResolver implements UpgradeResolver {
}
List<LibraryWithVersionOptions> libraryUpdates = this.libraryUpdateResolver
.findLibraryUpdates(librariesToUpgrade, librariesByName);
return libraryUpdates.stream().map(this::resolveUpgrade).filter(Objects::nonNull).toList();
try {
return libraryUpdates.stream().map(this::resolveUpgrade).filter(Objects::nonNull).toList();
}
catch (UpgradesInterruptedException ex) {
return Collections.emptyList();
}
}
private Upgrade resolveUpgrade(LibraryWithVersionOptions libraryWithVersionOptions) {
@ -69,8 +75,15 @@ public final class InteractiveUpgradeResolver implements UpgradeResolver {
options.addAll(libraryWithVersionOptions.getVersionOptions());
return questions.selectOption(question, options, defaultOption);
}).get();
if (this.userInputHandler.interrupted()) {
throw new UpgradesInterruptedException();
}
return (selected.equals(defaultOption)) ? null
: new Upgrade(libraryWithVersionOptions.getLibrary(), selected.getVersion());
}
static class UpgradesInterruptedException extends RuntimeException {
}
}