Merge branch '6.2.x'
This commit is contained in:
commit
f6799658f1
|
@ -1,270 +0,0 @@
|
||||||
package org.springframework.gradle.antora;
|
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
|
||||||
import org.gradle.api.GradleException;
|
|
||||||
import org.gradle.api.Project;
|
|
||||||
import org.gradle.api.Task;
|
|
||||||
import org.gradle.testfixtures.ProjectBuilder;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
|
||||||
import static org.assertj.core.api.Assertions.assertThatIOException;
|
|
||||||
|
|
||||||
class AntoraVersionPluginTests {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void defaultsPropertiesWhenSnapshot() {
|
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse();
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void defaultsPropertiesWhenMilestone() {
|
|
||||||
String expectedVersion = "1.0.0-M1";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-M1");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get());
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void defaultsPropertiesWhenRc() {
|
|
||||||
String expectedVersion = "1.0.0-RC1";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-RC1");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get());
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void defaultsPropertiesWhenRelease() {
|
|
||||||
String expectedVersion = "1.0.0";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().isPresent()).isFalse();
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse();
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void explicitProperties() {
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
checkAntoraVersionTask.getAntoraVersion().set("1.0.0");
|
|
||||||
checkAntoraVersionTask.getAntoraPrerelease().set("-SNAPSHOT");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT");
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse();
|
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void versionNotDefined() throws Exception {
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void antoraFileNotFound() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThatIOException().isThrownBy(() -> checkAntoraVersionTask.check());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void actualAntoraPrereleaseNull() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenSnapshot() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenMilestone() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0-M1";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0-M1'\nprerelease: 'true'\ndisplay_version: '1.0.0-M1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenRc() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0-RC1";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0-RC1'\nprerelease: 'true'\ndisplay_version: '1.0.0-RC1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenReleaseAndPrereleaseUndefined() throws Exception {
|
|
||||||
String expectedVersion = "1.0.0";
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.setVersion(expectedVersion);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenExplicitRelease() throws Exception {
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0");
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenExplicitPrerelease() throws Exception {
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0");
|
|
||||||
((CheckAntoraVersionTask) task).getAntoraPrerelease().set("-SNAPSHOT");
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void matchesWhenMissingPropertyDefined() throws Exception {
|
|
||||||
Project project = ProjectBuilder.builder().build();
|
|
||||||
File rootDir = project.getRootDir();
|
|
||||||
IOUtils.write("name: 'ROOT'\nversion: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8);
|
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class);
|
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME);
|
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class);
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task;
|
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0");
|
|
||||||
checkAntoraVersionTask.check();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue