Merge branch '3.0.x' into 3.1.x
This commit is contained in:
commit
848a61a3a8
|
@ -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();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2021 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-2021 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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue