Skip to content

Commit 00fdf29

Browse files
committed
Merge branch '3.3.x'
Closes gh-43034
2 parents 288e855 + 42ce97b commit 00fdf29

File tree

4 files changed

+57
-12
lines changed

4 files changed

+57
-12
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,12 @@ public String getAlignsWithBom() {
146146
}
147147

148148
public Map<String, String> getLinks() {
149+
return getLinks(this.version);
150+
}
151+
152+
public Map<String, String> getLinks(LibraryVersion version) {
149153
Map<String, String> links = new TreeMap<>();
150-
this.links.forEach((name, linkFactory) -> links.put(name, linkFactory.apply(this.version)));
154+
this.links.forEach((name, linkFactory) -> links.put(name, linkFactory.apply(version)));
151155
return Collections.unmodifiableMap(links);
152156
}
153157

buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/MoveToSnapshots.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.build.bom.bomr;
1818

1919
import java.time.OffsetDateTime;
20+
import java.util.ArrayList;
2021
import java.util.List;
2122
import java.util.Map;
2223
import java.util.function.BiPredicate;
@@ -32,6 +33,7 @@
3233
import org.springframework.boot.build.bom.BomExtension;
3334
import org.springframework.boot.build.bom.Library;
3435
import org.springframework.boot.build.bom.bomr.ReleaseSchedule.Release;
36+
import org.springframework.boot.build.bom.bomr.github.Issue;
3537
import org.springframework.boot.build.bom.bomr.github.Milestone;
3638
import org.springframework.boot.build.bom.bomr.version.DependencyVersion;
3739
import org.springframework.boot.build.properties.BuildProperties;
@@ -67,20 +69,33 @@ void upgradeDependencies() {
6769

6870
@Override
6971
protected String issueTitle(Upgrade upgrade) {
72+
return "Upgrade to " + description(upgrade);
73+
}
74+
75+
private String description(Upgrade upgrade) {
7076
String snapshotVersion = upgrade.getVersion().toString();
7177
String releaseVersion = snapshotVersion.substring(0, snapshotVersion.length() - "-SNAPSHOT".length());
72-
return "Upgrade to " + upgrade.getLibrary().getName() + " " + releaseVersion;
78+
return upgrade.getLibrary().getName() + " " + releaseVersion;
7379
}
7480

7581
@Override
76-
protected String commitMessage(Upgrade upgrade, int issueNumber) {
77-
return "Start building against " + upgrade.getLibrary().getName() + " " + releaseVersion(upgrade) + " snapshots"
78-
+ "\n\nSee gh-" + issueNumber;
82+
protected String issueBody(Upgrade upgrade, Issue existingUpgrade) {
83+
String releaseNotes = upgrade.getLibrary().getLinks().get("releaseNotes");
84+
List<String> lines = new ArrayList<>();
85+
String description = description(upgrade);
86+
if (releaseNotes != null) {
87+
lines.add("Upgrade to [%s](%s).".formatted(description, releaseNotes));
88+
}
89+
lines.add("Upgrade to %s.".formatted(description));
90+
if (existingUpgrade != null) {
91+
lines.add("Supersedes #" + existingUpgrade.getNumber());
92+
}
93+
return String.join("\\r\\n\\r\\n", lines);
7994
}
8095

81-
private String releaseVersion(Upgrade upgrade) {
82-
String snapshotVersion = upgrade.getVersion().toString();
83-
return snapshotVersion.substring(0, snapshotVersion.length() - "-SNAPSHOT".length());
96+
@Override
97+
protected String commitMessage(Upgrade upgrade, int issueNumber) {
98+
return "Start building against " + description(upgrade) + " snapshots" + "\n\nSee gh-" + issueNumber;
8499
}
85100

86101
@Override

buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeBom.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package org.springframework.boot.build.bom.bomr;
1818

19+
import java.util.ArrayList;
20+
import java.util.List;
21+
1922
import javax.inject.Inject;
2023

2124
import org.gradle.api.Task;
@@ -24,6 +27,8 @@
2427
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
2528

2629
import org.springframework.boot.build.bom.BomExtension;
30+
import org.springframework.boot.build.bom.Library.LibraryVersion;
31+
import org.springframework.boot.build.bom.bomr.github.Issue;
2732
import org.springframework.boot.build.properties.BuildProperties;
2833

2934
/**
@@ -68,4 +73,23 @@ protected String commitMessage(Upgrade upgrade, int issueNumber) {
6873
return issueTitle(upgrade) + "\n\nCloses gh-" + issueNumber;
6974
}
7075

76+
@Override
77+
protected String issueBody(Upgrade upgrade, Issue existingUpgrade) {
78+
String releaseNotes = upgrade.getLibrary()
79+
.getLinks(new LibraryVersion(upgrade.getVersion()))
80+
.get("releaseNotes");
81+
List<String> lines = new ArrayList<>();
82+
String description = upgrade.getLibrary().getName() + " " + upgrade.getVersion();
83+
if (releaseNotes != null) {
84+
lines.add("Upgrade to [%s](%s).".formatted(description, releaseNotes));
85+
}
86+
else {
87+
lines.add("Upgrade to %s.".formatted(description));
88+
}
89+
if (existingUpgrade != null) {
90+
lines.add("Supersedes #" + existingUpgrade.getNumber());
91+
}
92+
return String.join("\\r\\n\\r\\n", lines);
93+
}
94+
7195
}

buildSrc/src/main/java/org/springframework/boot/build/bom/bomr/UpgradeDependencies.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,12 @@ private void applyUpgrades(GitHubRepository repository, List<String> issueLabels
119119
System.out.println("");
120120
for (Upgrade upgrade : upgrades) {
121121
System.out.println(upgrade.getLibrary().getName() + " " + upgrade.getVersion());
122-
String title = issueTitle(upgrade);
123122
Issue existingUpgradeIssue = findExistingUpgradeIssue(existingUpgradeIssues, upgrade);
124123
try {
125124
Path modified = this.upgradeApplicator.apply(upgrade);
126-
int issueNumber = getOrOpenUpgradeIssue(repository, issueLabels, milestone, title,
125+
String title = issueTitle(upgrade);
126+
String body = issueBody(upgrade, existingUpgradeIssue);
127+
int issueNumber = getOrOpenUpgradeIssue(repository, issueLabels, milestone, title, body,
127128
existingUpgradeIssue);
128129
if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.CLOSED) {
129130
existingUpgradeIssue.label(Arrays.asList("type: task", "status: superseded"));
@@ -151,11 +152,10 @@ private void applyUpgrades(GitHubRepository repository, List<String> issueLabels
151152
}
152153

153154
private int getOrOpenUpgradeIssue(GitHubRepository repository, List<String> issueLabels, Milestone milestone,
154-
String title, Issue existingUpgradeIssue) {
155+
String title, String body, Issue existingUpgradeIssue) {
155156
if (existingUpgradeIssue != null && existingUpgradeIssue.getState() == Issue.State.OPEN) {
156157
return existingUpgradeIssue.getNumber();
157158
}
158-
String body = (existingUpgradeIssue != null) ? "Supersedes #" + existingUpgradeIssue.getNumber() : "";
159159
return repository.openIssue(title, body, issueLabels, milestone);
160160
}
161161

@@ -289,4 +289,6 @@ protected boolean eligible(Library library) {
289289

290290
protected abstract String commitMessage(Upgrade upgrade, int issueNumber);
291291

292+
protected abstract String issueBody(Upgrade upgrade, Issue existingUpgrade);
293+
292294
}

0 commit comments

Comments
 (0)