Merge branch '2.7.x' into 3.0.x

pull/37018/head
Phillip Webb 1 year ago
commit a0089c5c76

@ -108,31 +108,13 @@ public abstract class UpgradeDependencies extends DefaultTask {
Issue existingUpgradeIssue = findExistingUpgradeIssue(existingUpgradeIssues, upgrade); Issue existingUpgradeIssue = findExistingUpgradeIssue(existingUpgradeIssues, upgrade);
try { try {
Path modified = upgradeApplicator.apply(upgrade); Path modified = upgradeApplicator.apply(upgrade);
int issueNumber; int issueNumber = getOrOpenUpgradeIssue(repository, issueLabels, milestone, title,
if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.OPEN) { existingUpgradeIssue);
issueNumber = existingUpgradeIssue.getNumber();
}
else {
issueNumber = repository.openIssue(title,
(existingUpgradeIssue != null) ? "Supersedes #" + existingUpgradeIssue.getNumber() : "",
issueLabels, milestone);
if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.CLOSED) { if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.CLOSED) {
existingUpgradeIssue.label(Arrays.asList("type: task", "status: superseded")); existingUpgradeIssue.label(Arrays.asList("type: task", "status: superseded"));
} }
} System.out.println(" Issue: " + issueNumber + " - " + title
if (existingUpgradeIssue != null) { + getExistingUpgradeIssueMessageDetails(existingUpgradeIssue));
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);
}
if (new ProcessBuilder().command("git", "add", modified.toFile().getAbsolutePath()) if (new ProcessBuilder().command("git", "add", modified.toFile().getAbsolutePath())
.start() .start()
.waitFor() != 0) { .waitFor() != 0) {
@ -153,6 +135,25 @@ public abstract class UpgradeDependencies extends DefaultTask {
} }
} }
private int getOrOpenUpgradeIssue(GitHubRepository repository, List<String> 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<String> verifyLabels(GitHubRepository repository) { private List<String> verifyLabels(GitHubRepository repository) {
Set<String> availableLabels = repository.getLabels(); Set<String> availableLabels = repository.getLabels();
List<String> issueLabels = this.bom.getUpgrade().getGitHub().getIssueLabels(); List<String> issueLabels = this.bom.getUpgrade().getGitHub().getIssueLabels();

@ -113,13 +113,11 @@ public class JobLauncherApplicationRunner
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
if (this.jobs.size() > 1 && !StringUtils.hasText(this.jobName)) { Assert.isTrue(this.jobs.size() <= 1 || StringUtils.hasText(this.jobName),
throw new IllegalArgumentException("Job name must be specified in case of multiple jobs"); "Job name must be specified in case of multiple jobs");
}
if (StringUtils.hasText(this.jobName)) { if (StringUtils.hasText(this.jobName)) {
if (!isLocalJob(this.jobName) && !isRegisteredJob(this.jobName)) { Assert.isTrue(isLocalJob(this.jobName) || isRegisteredJob(this.jobName),
throw new IllegalArgumentException("No job found with name '" + this.jobName + "'"); () -> "No job found with name '" + this.jobName + "'");
}
} }
} }

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2022 the original author or authors. * Copyright 2012-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2022 the original author or authors. * Copyright 2012-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.

@ -267,9 +267,7 @@ public class LogbackLoggingSystem extends AbstractLoggingSystem implements BeanF
} }
IllegalStateException ex = new IllegalStateException( IllegalStateException ex = new IllegalStateException(
String.format("Logback configuration error detected: %n%s", errors)); String.format("Logback configuration error detected: %n%s", errors));
for (Throwable suppressedException : suppressedExceptions) { suppressedExceptions.forEach(ex::addSuppressed);
ex.addSuppressed(suppressedException);
}
throw ex; throw ex;
} }

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2022 the original author or authors. * Copyright 2012-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.

Loading…
Cancel
Save