Skip to content

Commit 123b8c6

Browse files
committed
Update Bomr to output upgrade links for the release notes
Closes gh-47032
1 parent fc27006 commit 123b8c6

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

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,8 @@
1616

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

19+
import java.util.List;
20+
1921
import javax.inject.Inject;
2022

2123
import org.gradle.api.Task;
@@ -24,6 +26,7 @@
2426
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
2527

2628
import org.springframework.boot.build.bom.BomExtension;
29+
import org.springframework.boot.build.bom.Library;
2730
import org.springframework.boot.build.properties.BuildProperties;
2831

2932
/**
@@ -63,4 +66,25 @@ protected String commitMessage(Upgrade upgrade, int issueNumber) {
6366
return issueTitle(upgrade) + "\n\nCloses gh-" + issueNumber;
6467
}
6568

69+
@Override
70+
protected void upgradesApplied(List<Upgrade> upgrades) {
71+
if (upgrades.isEmpty()) {
72+
return;
73+
}
74+
System.out.println();
75+
System.out.println("Upgrade release notes:");
76+
System.out.println();
77+
for (Upgrade upgrade : upgrades) {
78+
Library library = upgrade.toRelease();
79+
String releaseNotes = library.getLinkUrl("releaseNotes");
80+
if (releaseNotes != null) {
81+
System.out.println("* " + releaseNotes + "[" + library.getNameAndVersion() + "]");
82+
}
83+
else {
84+
System.out.println("* " + library.getNameAndVersion());
85+
}
86+
}
87+
System.out.println();
88+
}
89+
6690
}

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@ protected UpgradeDependencies(BomExtension bom, boolean movingToSnapshots) {
102102
@Option(option = "libraries", description = "Regular expression that identifies the libraries to upgrade")
103103
public abstract Property<String> getLibraries();
104104

105+
@Input
106+
@Optional
107+
@Option(option = "dry-run-upgrades",
108+
description = "Whether to perform a dry run that doesn't open issues or change the bom")
109+
public abstract Property<Boolean> getDryRun();
110+
105111
@Input
106112
abstract ListProperty<String> getRepositoryNames();
107113

@@ -112,7 +118,14 @@ void upgradeDependencies() {
112118
List<String> issueLabels = verifyLabels(repository);
113119
Milestone milestone = determineMilestone(repository);
114120
List<Upgrade> upgrades = resolveUpgrades(milestone);
115-
applyUpgrades(repository, issueLabels, milestone, upgrades);
121+
if (!getDryRun().getOrElse(false)) {
122+
applyUpgrades(repository, issueLabels, milestone, upgrades);
123+
}
124+
upgradesApplied(upgrades);
125+
}
126+
127+
protected void upgradesApplied(List<Upgrade> upgrades) {
128+
116129
}
117130

118131
private void applyUpgrades(GitHubRepository repository, List<String> issueLabels, Milestone milestone,

0 commit comments

Comments
 (0)