diff --git a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeDependencies.java b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeDependencies.java index adc91e88d7..49b93379bd 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeDependencies.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeDependencies.java @@ -109,31 +109,13 @@ public abstract class UpgradeDependencies extends DefaultTask { Issue existingUpgradeIssue = findExistingUpgradeIssue(existingUpgradeIssues, upgrade); try { Path modified = upgradeApplicator.apply(upgrade); - int issueNumber; - if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.OPEN) { - issueNumber = existingUpgradeIssue.getNumber(); - } - else { - issueNumber = repository.openIssue(title, - (existingUpgradeIssue != null) ? "Supersedes #" + existingUpgradeIssue.getNumber() : "", - issueLabels, milestone); - if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.CLOSED) { - existingUpgradeIssue.label(Arrays.asList("type: task", "status: superseded")); - } - } - if (existingUpgradeIssue != null) { - if (existingUpgradeIssue.getState() == Issue.State.CLOSED) { - System.out.println(" Issue: " + issueNumber + " - " + title + " (supersedes #" - + existingUpgradeIssue.getNumber() + " " + existingUpgradeIssue.getTitle() + ")"); - } - else { - System.out - .println(" Issue: " + issueNumber + " - " + title + " (completes existing upgrade)"); - } - } - else { - System.out.println(" Issue: " + issueNumber + " - " + title); + int issueNumber = getOrOpenUpgradeIssue(repository, issueLabels, milestone, title, + existingUpgradeIssue); + if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.CLOSED) { + existingUpgradeIssue.label(Arrays.asList("type: task", "status: superseded")); } + System.out.println(" Issue: " + issueNumber + " - " + title + + getExistingUpgradeIssueMessageDetails(existingUpgradeIssue)); if (new ProcessBuilder().command("git", "add", modified.toFile().getAbsolutePath()) .start() .waitFor() != 0) { @@ -154,6 +136,25 @@ public abstract class UpgradeDependencies extends DefaultTask { } } + private int getOrOpenUpgradeIssue(GitHubRepository repository, List issueLabels, Milestone milestone, + String title, Issue existingUpgradeIssue) { + if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.OPEN) { + return existingUpgradeIssue.getNumber(); + } + String body = (existingUpgradeIssue != null) ? "Supersedes #" + existingUpgradeIssue.getNumber() : ""; + return repository.openIssue(title, body, issueLabels, milestone); + } + + private String getExistingUpgradeIssueMessageDetails(Issue existingUpgradeIssue) { + if (existingUpgradeIssue == null) { + return ""; + } + if (existingUpgradeIssue.getState() != Issue.State.CLOSED) { + return " (completes existing upgrade)"; + } + return " (supersedes #" + existingUpgradeIssue.getNumber() + " " + existingUpgradeIssue.getTitle() + ")"; + } + private List verifyLabels(GitHubRepository repository) { Set availableLabels = repository.getLabels(); List issueLabels = this.bom.getUpgrade().getGitHub().getIssueLabels(); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherApplicationRunner.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherApplicationRunner.java index ae28d64a7a..0c7afe5e6f 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherApplicationRunner.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherApplicationRunner.java @@ -117,9 +117,8 @@ public class JobLauncherApplicationRunner public void afterPropertiesSet() { if (StringUtils.hasText(this.jobNames)) { for (String jobName : jobsToRun()) { - if (!isLocalJob(jobName) && !isRegisteredJob(jobName)) { - throw new IllegalArgumentException("No job found with name '" + jobName + "'"); - } + Assert.isTrue(isLocalJob(jobName) || isRegisteredJob(jobName), + () -> "No job found with name '" + jobName + "'"); } } } diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java index 468fbd6c86..1875925b61 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java @@ -187,9 +187,7 @@ public class LogbackLoggingSystem extends Slf4JLoggingSystem { } IllegalStateException ex = new IllegalStateException( String.format("Logback configuration error detected: %n%s", errors)); - for (Throwable suppressedException : suppressedExceptions) { - ex.addSuppressed(suppressedException); - } + suppressedExceptions.forEach(ex::addSuppressed); throw ex; }