Skip to content

Commit 5cd8969

Browse files
committed
[docs] Add support for overriding entries in the release notes
1 parent 527cbc6 commit 5cd8969

File tree

5 files changed

+55
-16
lines changed

5 files changed

+55
-16
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/release/ChangelogEntry.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class ChangelogEntry {
4343
private Breaking breaking;
4444
private Highlight highlight;
4545
private Deprecation deprecation;
46+
private String entryOverride;
4647

4748
private static final ObjectMapper yamlMapper = new ObjectMapper(new YAMLFactory());
4849

@@ -125,6 +126,14 @@ public void setDeprecation(Deprecation deprecation) {
125126
this.deprecation = deprecation;
126127
}
127128

129+
public String getEntryOverride() {
130+
return entryOverride;
131+
}
132+
133+
public void setEntryOverride(String entryOverride) {
134+
this.entryOverride = entryOverride;
135+
}
136+
128137
@Override
129138
public boolean equals(Object o) {
130139
if (this == o) {
@@ -140,12 +149,13 @@ public boolean equals(Object o) {
140149
&& Objects.equals(type, that.type)
141150
&& Objects.equals(summary, that.summary)
142151
&& Objects.equals(highlight, that.highlight)
143-
&& Objects.equals(breaking, that.breaking);
152+
&& Objects.equals(breaking, that.breaking)
153+
&& Objects.equals(entryOverride, that.entryOverride);
144154
}
145155

146156
@Override
147157
public int hashCode() {
148-
return Objects.hash(pr, issues, area, type, summary, highlight, breaking);
158+
return Objects.hash(pr, issues, area, type, summary, highlight, breaking, entryOverride);
149159
}
150160

151161
@Override

build-tools-internal/src/main/resources/templates/breaking-changes.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,30 @@ for(bundle in changelogBundles) {
2727
}
2828
%>
2929
## ${unqualifiedVersion} [elasticsearch-${versionForIds}-breaking-changes]
30+
3031
<%
3132
if (!changelogsByTypeByArea['breaking']) {
32-
print "\nThere are no breaking changes associated with this release.\n"
33+
print "There are no breaking changes associated with this release.\n"
3334
} else {
3435
for (team in (changelogsByTypeByArea['breaking'] ?: [:]).keySet()) {
35-
print "\n${team}:\n";
36+
print "${team}:\n";
3637

3738
for (change in changelogsByTypeByArea['breaking'][team]) {
38-
print "* ${change.summary} [#${change.pr}](https://github.com/elastic/elasticsearch/pull/${change.pr})"
39-
if (change.issues != null && change.issues.empty == false) {
40-
print change.issues.size() == 1 ? " (issue: " : " (issues: "
41-
print change.issues.collect { "[#${it}](https://github.com/elastic/elasticsearch/issues/${it})" }.join(", ")
42-
print ")"
39+
if (!change.entryOverride) {
40+
print "* ${change.summary} [#${change.pr}](https://github.com/elastic/elasticsearch/pull/${change.pr})"
41+
if (change.issues != null && change.issues.empty == false) {
42+
print change.issues.size() == 1 ? " (issue: " : " (issues: "
43+
print change.issues.collect { "[#${it}](https://github.com/elastic/elasticsearch/issues/${it})" }.join(", ")
44+
print ")"
45+
}
46+
} else {
47+
print change.entryOverride;
4348
}
4449
print "\n"
4550
}
51+
print "\n"
4652
}
4753

48-
print "\n\n"
54+
print "\n"
4955
}
5056
}

build-tools-internal/src/main/resources/templates/index.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,18 +59,24 @@ for (changeType in ['features-enhancements', 'fixes', 'regression']) {
5959
}
6060
%>
6161
### ${ TYPE_LABELS.getOrDefault(changeType, 'No mapping for TYPE_LABELS[' + changeType + ']') } [elasticsearch-${versionForIds}-${changeType}]
62+
6263
<% for (team in changelogsByTypeByArea[changeType].keySet()) {
63-
print "\n${team}:\n";
64+
print "${team}:\n";
6465

6566
for (change in changelogsByTypeByArea[changeType][team]) {
66-
print "* ${change.summary} [#${change.pr}](https://github.com/elastic/elasticsearch/pull/${change.pr})"
67-
if (change.issues != null && change.issues.empty == false) {
68-
print change.issues.size() == 1 ? " (issue: " : " (issues: "
69-
print change.issues.collect { "[#${it}](https://github.com/elastic/elasticsearch/issues/${it})" }.join(", ")
70-
print ")"
67+
if (!change.entryOverride) {
68+
print "* ${change.summary} [#${change.pr}](https://github.com/elastic/elasticsearch/pull/${change.pr})"
69+
if (change.issues != null && change.issues.empty == false) {
70+
print change.issues.size() == 1 ? " (issue: " : " (issues: "
71+
print change.issues.collect { "[#${it}](https://github.com/elastic/elasticsearch/issues/${it})" }.join(", ")
72+
print ")"
73+
}
74+
} else {
75+
print change.entryOverride.trim();
7176
}
7277
print "\n"
7378
}
79+
print "\n"
7480
}
7581
}
7682
print "\n"

build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Search:
4747
* [#52](https://github.com/elastic/elasticsearch/pull/52)
4848

4949

50+
5051
## 9.0.10 [elasticsearch-9.0.10-release-notes]
5152
```{applies_to}
5253
stack: coming 9.0.10
@@ -59,6 +60,7 @@ Search:
5960
* Test changelog entry 10_1 [#10002](https://github.com/elastic/elasticsearch/pull/10002) (issues: [#10003](https://github.com/elastic/elasticsearch/issues/10003), [#10004](https://github.com/elastic/elasticsearch/issues/10004))
6061

6162

63+
6264
## 9.0.9 [elasticsearch-9.0.9-release-notes]
6365

6466
### Regressions [elasticsearch-9.0.9-regression]
@@ -68,6 +70,7 @@ Mappings:
6870
* Test changelog entry 9_1 [#9002](https://github.com/elastic/elasticsearch/pull/9002) (issues: [#9003](https://github.com/elastic/elasticsearch/issues/9003), [#9004](https://github.com/elastic/elasticsearch/issues/9004))
6971

7072

73+
7174
## 9.0.8 [elasticsearch-9.0.8-release-notes]
7275

7376
### Features and enhancements [elasticsearch-9.0.8-features-enhancements]
@@ -77,6 +80,7 @@ Indices:
7780
* Test changelog entry 8_1 [#8002](https://github.com/elastic/elasticsearch/pull/8002) (issues: [#8003](https://github.com/elastic/elasticsearch/issues/8003), [#8004](https://github.com/elastic/elasticsearch/issues/8004))
7881

7982

83+
8084
## 9.0.7 [elasticsearch-9.0.7-release-notes]
8185

8286
### Features and enhancements [elasticsearch-9.0.7-features-enhancements]
@@ -86,6 +90,7 @@ Cluster:
8690
* Test changelog entry 7_1 [#7002](https://github.com/elastic/elasticsearch/pull/7002) (issues: [#7003](https://github.com/elastic/elasticsearch/issues/7003), [#7004](https://github.com/elastic/elasticsearch/issues/7004))
8791

8892

93+
8994
## 9.0.6 [elasticsearch-9.0.6-release-notes]
9095

9196
### Features and enhancements [elasticsearch-9.0.6-features-enhancements]
@@ -95,6 +100,7 @@ Aggregation:
95100
* Test changelog entry 6_1 [#6002](https://github.com/elastic/elasticsearch/pull/6002) (issues: [#6003](https://github.com/elastic/elasticsearch/issues/6003), [#6004](https://github.com/elastic/elasticsearch/issues/6004))
96101

97102

103+
98104
## 9.0.5 [elasticsearch-9.0.5-release-notes]
99105

100106
### Features and enhancements [elasticsearch-9.0.5-features-enhancements]
@@ -104,6 +110,7 @@ Security:
104110
* Test changelog entry 5_1 [#5002](https://github.com/elastic/elasticsearch/pull/5002) (issues: [#5003](https://github.com/elastic/elasticsearch/issues/5003), [#5004](https://github.com/elastic/elasticsearch/issues/5004))
105111

106112

113+
107114
## 9.0.4 [elasticsearch-9.0.4-release-notes]
108115

109116

@@ -116,6 +123,7 @@ Mappings:
116123
* Test changelog entry 3_1 [#3002](https://github.com/elastic/elasticsearch/pull/3002) (issues: [#3003](https://github.com/elastic/elasticsearch/issues/3003), [#3004](https://github.com/elastic/elasticsearch/issues/3004))
117124

118125

126+
119127
## 9.0.2 [elasticsearch-9.0.2-release-notes]
120128

121129
### Fixes [elasticsearch-9.0.2-fixes]
@@ -125,6 +133,7 @@ Indices:
125133
* Test changelog entry 2_1 [#2002](https://github.com/elastic/elasticsearch/pull/2002) (issues: [#2003](https://github.com/elastic/elasticsearch/issues/2003), [#2004](https://github.com/elastic/elasticsearch/issues/2004))
126134

127135

136+
128137
## 9.0.1 [elasticsearch-9.0.1-release-notes]
129138

130139

build-tools-internal/src/test/resources/org/elasticsearch/gradle/internal/release/ReleaseNotesGeneratorTest.index.no-highlights.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Search:
3232
* Test changelog entry 10_1 [#10002](https://github.com/elastic/elasticsearch/pull/10002) (issues: [#10003](https://github.com/elastic/elasticsearch/issues/10003), [#10004](https://github.com/elastic/elasticsearch/issues/10004))
3333

3434

35+
3536
## 9.0.9 [elasticsearch-9.0.9-release-notes]
3637

3738
### Regressions [elasticsearch-9.0.9-regression]
@@ -41,6 +42,7 @@ Mappings:
4142
* Test changelog entry 9_1 [#9002](https://github.com/elastic/elasticsearch/pull/9002) (issues: [#9003](https://github.com/elastic/elasticsearch/issues/9003), [#9004](https://github.com/elastic/elasticsearch/issues/9004))
4243

4344

45+
4446
## 9.0.8 [elasticsearch-9.0.8-release-notes]
4547

4648
### Features and enhancements [elasticsearch-9.0.8-features-enhancements]
@@ -50,6 +52,7 @@ Indices:
5052
* Test changelog entry 8_1 [#8002](https://github.com/elastic/elasticsearch/pull/8002) (issues: [#8003](https://github.com/elastic/elasticsearch/issues/8003), [#8004](https://github.com/elastic/elasticsearch/issues/8004))
5153

5254

55+
5356
## 9.0.7 [elasticsearch-9.0.7-release-notes]
5457

5558
### Features and enhancements [elasticsearch-9.0.7-features-enhancements]
@@ -59,6 +62,7 @@ Cluster:
5962
* Test changelog entry 7_1 [#7002](https://github.com/elastic/elasticsearch/pull/7002) (issues: [#7003](https://github.com/elastic/elasticsearch/issues/7003), [#7004](https://github.com/elastic/elasticsearch/issues/7004))
6063

6164

65+
6266
## 9.0.6 [elasticsearch-9.0.6-release-notes]
6367

6468
### Features and enhancements [elasticsearch-9.0.6-features-enhancements]
@@ -68,6 +72,7 @@ Aggregation:
6872
* Test changelog entry 6_1 [#6002](https://github.com/elastic/elasticsearch/pull/6002) (issues: [#6003](https://github.com/elastic/elasticsearch/issues/6003), [#6004](https://github.com/elastic/elasticsearch/issues/6004))
6973

7074

75+
7176
## 9.0.5 [elasticsearch-9.0.5-release-notes]
7277

7378
### Features and enhancements [elasticsearch-9.0.5-features-enhancements]
@@ -77,6 +82,7 @@ Security:
7782
* Test changelog entry 5_1 [#5002](https://github.com/elastic/elasticsearch/pull/5002) (issues: [#5003](https://github.com/elastic/elasticsearch/issues/5003), [#5004](https://github.com/elastic/elasticsearch/issues/5004))
7883

7984

85+
8086
## 9.0.4 [elasticsearch-9.0.4-release-notes]
8187

8288

@@ -89,6 +95,7 @@ Mappings:
8995
* Test changelog entry 3_1 [#3002](https://github.com/elastic/elasticsearch/pull/3002) (issues: [#3003](https://github.com/elastic/elasticsearch/issues/3003), [#3004](https://github.com/elastic/elasticsearch/issues/3004))
9096

9197

98+
9299
## 9.0.2 [elasticsearch-9.0.2-release-notes]
93100

94101
### Fixes [elasticsearch-9.0.2-fixes]
@@ -98,6 +105,7 @@ Indices:
98105
* Test changelog entry 2_1 [#2002](https://github.com/elastic/elasticsearch/pull/2002) (issues: [#2003](https://github.com/elastic/elasticsearch/issues/2003), [#2004](https://github.com/elastic/elasticsearch/issues/2004))
99106

100107

108+
101109
## 9.0.1 [elasticsearch-9.0.1-release-notes]
102110

103111

0 commit comments

Comments
 (0)