Skip to content

Commit d5483f7

Browse files
committed
Antora prerelease: true for milestone and rc
1 parent 005d746 commit d5483f7

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

buildSrc/src/main/java/org/springframework/gradle/antora/CheckAntoraVersionPlugin.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,20 @@ public void execute(Task check) {
3838

3939
private static String getDefaultAntoraVersion(Project project) {
4040
String projectVersion = getProjectVersion(project);
41-
int preReleaseIndex = getPreReleaseIndex(projectVersion);
42-
return isPreRelease(projectVersion) ? projectVersion.substring(0, preReleaseIndex) : projectVersion;
41+
int preReleaseIndex = getSnapshotIndex(projectVersion);
42+
return isSnapshot(projectVersion) ? projectVersion.substring(0, preReleaseIndex) : projectVersion;
4343
}
4444

4545
private static String getDefaultAntoraPrerelease(Project project) {
4646
String projectVersion = getProjectVersion(project);
47-
int preReleaseIndex = getPreReleaseIndex(projectVersion);
48-
return isPreRelease(projectVersion) ? projectVersion.substring(preReleaseIndex) : null;
47+
if (isSnapshot(projectVersion)) {
48+
int preReleaseIndex = getSnapshotIndex(projectVersion);
49+
return projectVersion.substring(preReleaseIndex);
50+
}
51+
if (isPreRelease(projectVersion)) {
52+
return Boolean.TRUE.toString();
53+
}
54+
return null;
4955
}
5056

5157
private static String getProjectVersion(Project project) {
@@ -56,11 +62,15 @@ private static String getProjectVersion(Project project) {
5662
return String.valueOf(projectVersion);
5763
}
5864

59-
private static int getPreReleaseIndex(String projectVersion) {
60-
return projectVersion.lastIndexOf("-");
65+
private static boolean isSnapshot(String projectVersion) {
66+
return getSnapshotIndex(projectVersion) >= 0;
67+
}
68+
69+
private static int getSnapshotIndex(String projectVersion) {
70+
return projectVersion.lastIndexOf("-SNAPSHOT");
6171
}
6272

6373
private static boolean isPreRelease(String projectVersion) {
64-
return getPreReleaseIndex(projectVersion) >= 0;
74+
return projectVersion.lastIndexOf("-") >= 0;
6575
}
6676
}

buildSrc/src/test/java/org/springframework/gradle/antora/CheckAntoraVersionPluginTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ void defaultsPropertiesWhenMilestone() {
4646
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
4747

4848
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
49-
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0");
50-
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-M1");
49+
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-M1");
50+
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true");
5151
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
5252
}
5353

@@ -63,8 +63,8 @@ void defaultsPropertiesWhenRc() {
6363
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
6464

6565
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
66-
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0");
67-
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-RC1");
66+
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-RC1");
67+
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true");
6868
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
6969
}
7070

@@ -170,7 +170,7 @@ void matchesWhenMilestone() throws Exception {
170170
String expectedVersion = "1.0.0-M1";
171171
Project project = ProjectBuilder.builder().build();
172172
File rootDir = project.getRootDir();
173-
IOUtils.write("version: '1.0.0'\nprerelease: '-M1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
173+
IOUtils.write("version: '1.0.0-M1'\nprerelease: 'true'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
174174
project.setVersion(expectedVersion);
175175
project.getPluginManager().apply(CheckAntoraVersionPlugin.class);
176176

@@ -187,7 +187,7 @@ void matchesWhenRc() throws Exception {
187187
String expectedVersion = "1.0.0-RC1";
188188
Project project = ProjectBuilder.builder().build();
189189
File rootDir = project.getRootDir();
190-
IOUtils.write("version: '1.0.0'\nprerelease: '-RC1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
190+
IOUtils.write("version: '1.0.0-RC1'\nprerelease: 'true'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
191191
project.setVersion(expectedVersion);
192192
project.getPluginManager().apply(CheckAntoraVersionPlugin.class);
193193

0 commit comments

Comments
 (0)