@@ -44,12 +44,14 @@ public static void main(String[] args) throws IOException {
44
44
Path releaseNotesDir = Paths .get (args [1 ]);
45
45
Path releaseNotesFile = releaseNotesDir .resolve ("index.md" );
46
46
Path deprecationsFile = releaseNotesDir .resolve ("deprecations.md" );
47
+ Path breakingChangesFile = releaseNotesDir .resolve ("breaking-changes.md" );
47
48
VersionNumber version = VersionNumber .parse (args [2 ].trim ());
48
49
49
50
Lines nextChangelogLines = new Lines (Files .readAllLines (nextChangelogFile , StandardCharsets .UTF_8 ));
50
51
Lines fixes = nextChangelogLines .cutLinesBetween ("<!--FIXES-START-->" , "<!--FIXES-END-->" );
51
52
Lines enhancements = nextChangelogLines .cutLinesBetween ("<!--ENHANCEMENTS-START-->" , "<!--ENHANCEMENTS-END-->" );
52
53
Lines deprecations = nextChangelogLines .cutLinesBetween ("<!--DEPRECATIONS-START-->" , "<!--DEPRECATIONS-END-->" );
54
+ Lines breakingChanges = nextChangelogLines .cutLinesBetween ("<!--BREAKING-CHANGES-START-->" , "<!--BREAKING-CHANGES-END-->" );
53
55
54
56
55
57
var formatter = DateTimeFormatter .ofPattern ("LLLL d, yyyy" , Locale .ENGLISH );
@@ -65,6 +67,12 @@ public static void main(String[] args) throws IOException {
65
67
allDeprecations .insert (generateDeprecations (version , releaseDateLine , deprecations ), insertDepsBeforeLine );
66
68
Files .writeString (deprecationsFile , allDeprecations + "\n " , StandardCharsets .UTF_8 );
67
69
}
70
+ if (!breakingChanges .isEmpty ()) {
71
+ Lines allBreakingChanges = new Lines (Files .readAllLines (breakingChangesFile , StandardCharsets .UTF_8 ));
72
+ int insertBcBeforeLine = findHeadingOfPreviousVersion (allBreakingChanges , version );
73
+ allBreakingChanges .insert (generateBreakingChanges (version , releaseDateLine , breakingChanges ), insertBcBeforeLine );
74
+ Files .writeString (breakingChangesFile , allBreakingChanges + "\n " , StandardCharsets .UTF_8 );
75
+ }
68
76
Files .writeString (releaseNotesFile , allReleaseNotes + "\n " , StandardCharsets .UTF_8 );
69
77
Files .writeString (nextChangelogFile , nextChangelogLines + "\n " , StandardCharsets .UTF_8 );
70
78
}
@@ -89,7 +97,6 @@ private static Lines generateReleaseNotes(VersionNumber version, String releaseD
89
97
return result ;
90
98
}
91
99
92
-
93
100
private static Lines generateDeprecations (VersionNumber version , String releaseDateLine , Lines deprecations ) {
94
101
return new Lines ()
95
102
.append ("## " + version .dotStr () + " [elastic-apm-java-agent-" + version .dashStr () + "-deprecations]" )
@@ -99,6 +106,16 @@ private static Lines generateDeprecations(VersionNumber version, String releaseD
99
106
.append ("" );
100
107
}
101
108
109
+ private static Lines generateBreakingChanges (VersionNumber version , String releaseDateLine , Lines breakingChanges ) {
110
+ return new Lines ()
111
+ .append ("## " + version .dotStr () + " [" + version .dotStr () + "]" )
112
+ .append ("" )
113
+ .append (releaseDateLine )
114
+ .append ("" )
115
+ .append (breakingChanges )
116
+ .append ("" );
117
+ }
118
+
102
119
static int findHeadingOfPreviousVersion (Lines lines , VersionNumber version ) {
103
120
Pattern headingPattern = Pattern .compile ("## (\\ d+\\ .\\ d+\\ .\\ d+) .*" );
104
121
Comparator <VersionNumber > comp = VersionNumber .comparator ();
0 commit comments