Moved template generation methods to GeneratedVersion class
This commit is contained in:
parent
4b00dd801a
commit
3e564915ea
4 changed files with 182 additions and 176 deletions
|
@ -16,6 +16,7 @@
|
|||
|
||||
package rife.bld.extension;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import rife.bld.BaseProject;
|
||||
import rife.bld.Project;
|
||||
|
@ -26,6 +27,9 @@ import java.io.File;
|
|||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.ConsoleHandler;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
@ -53,6 +57,17 @@ class GeneratedVersionTest {
|
|||
}
|
||||
};
|
||||
|
||||
@BeforeAll
|
||||
static void beforeAll() {
|
||||
var level = Level.ALL;
|
||||
var logger = Logger.getLogger("rife.bld.extension");
|
||||
var consoleHandler = new ConsoleHandler();
|
||||
consoleHandler.setLevel(level);
|
||||
logger.addHandler(consoleHandler);
|
||||
logger.setLevel(level);
|
||||
logger.setUseParentHandlers(false);
|
||||
}
|
||||
|
||||
static void deleteOnExit(File folder) {
|
||||
folder.deleteOnExit();
|
||||
for (var f : Objects.requireNonNull(folder.listFiles())) {
|
||||
|
@ -68,13 +83,12 @@ class GeneratedVersionTest {
|
|||
void testBuildCustomTemplate() {
|
||||
var gv = new GeneratedVersion();
|
||||
gv.setProject(PROJECT);
|
||||
gv.setTemplate(new File(gv.getProject().srcTestResourcesDirectory().getAbsolutePath(),
|
||||
"version_test.txt"));
|
||||
gv.setTemplate(new File(gv.getProject().srcTestResourcesDirectory().getAbsolutePath(), "version_test.txt"));
|
||||
gv.setPackageName("com.example.my");
|
||||
gv.setProjectName("My App");
|
||||
gv.setClassName("MyVersion");
|
||||
|
||||
var t = GeneratedVersionOperation.buildTemplate(gv);
|
||||
var t = gv.buildTemplate();
|
||||
//noinspection TrailingWhitespacesInTextBlock
|
||||
assertThat(t.getContent()).isEqualTo("""
|
||||
package com.example.my;
|
||||
|
@ -97,8 +111,8 @@ class GeneratedVersionTest {
|
|||
void testBuildTemplate() {
|
||||
var gv = new GeneratedVersion();
|
||||
gv.setProject(PROJECT);
|
||||
var t = GeneratedVersionOperation.buildTemplate(gv);
|
||||
|
||||
var t = gv.buildTemplate();
|
||||
assertThat(t).isNotNull();
|
||||
|
||||
assertThat(gv.getProject()).isEqualTo(PROJECT);
|
||||
|
@ -112,15 +126,15 @@ class GeneratedVersionTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
void testExecute() throws IOException {
|
||||
void testExecute() throws Exception {
|
||||
var tmpDir = Files.createTempDirectory("bld-generated-version-").toFile();
|
||||
tmpDir.deleteOnExit();
|
||||
|
||||
|
||||
new GeneratedVersionOperation()
|
||||
.fromProject(PROJECT)
|
||||
.directory(tmpDir.getAbsolutePath())
|
||||
.extension(".java")
|
||||
.classTemplate("src/test/resources/myversion_test.txt")
|
||||
.classTemplate("src/test/resources/other_version_test.txt")
|
||||
.packageName("")
|
||||
.className("MyVersion")
|
||||
.execute();
|
||||
|
@ -130,23 +144,42 @@ class GeneratedVersionTest {
|
|||
assertThat(new File(tmpDir, "MyVersion.java")).exists();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGeneratedVersion() {
|
||||
var gv = new GeneratedVersion();
|
||||
gv.setProject(PROJECT);
|
||||
gv.setTemplate(new File(gv.getProject().srcTestResourcesDirectory().getAbsolutePath(), "version_test.txt"));
|
||||
gv.setPackageName("com.example.cool");
|
||||
gv.setProjectName("Cool App");
|
||||
gv.setClassName("CoolVersion");
|
||||
gv.setDirectory(new File("build"));
|
||||
gv.setExtension(".java");
|
||||
|
||||
assertThat(gv.getProject()).as("project").isEqualTo(PROJECT);
|
||||
assertThat(gv.getTemplate()).as("template").exists();
|
||||
assertThat(gv.getPackageName()).as("package name").isEqualTo("com.example.cool");
|
||||
assertThat(gv.getProjectName()).as("project name").isEqualTo("Cool App");
|
||||
assertThat(gv.getClassName()).as("class name").isEqualTo("CoolVersion");
|
||||
assertThat(gv.getExtension()).as("extension").isEqualTo(".java");
|
||||
assertThat(gv.getDirectory()).as("directory").isDirectory();
|
||||
}
|
||||
|
||||
@Test
|
||||
void testWriteTemplate() throws IOException {
|
||||
var tmpDir = Files.createTempDirectory("bld-generated-version-").toFile();
|
||||
tmpDir.deleteOnExit();
|
||||
var gv = new GeneratedVersion();
|
||||
|
||||
var gv = new GeneratedVersion();
|
||||
gv.setProject(PROJECT);
|
||||
gv.setDirectory(tmpDir);
|
||||
|
||||
var t = GeneratedVersionOperation.buildTemplate(gv);
|
||||
|
||||
GeneratedVersionOperation.writeTemplate(t, gv);
|
||||
|
||||
assertThat(gv.getClassFile()).exists();
|
||||
var t = gv.buildTemplate();
|
||||
gv.writeTemplate(t);
|
||||
|
||||
deleteOnExit(tmpDir);
|
||||
|
||||
assertThat(gv.getClassFile()).exists();
|
||||
|
||||
var versionClass = FileUtils.readString(gv.getClassFile());
|
||||
assertThat(versionClass).contains("package com.example;").contains("class GeneratedVersion")
|
||||
.contains("MAJOR = 2").contains("MINOR = 1").contains("REVISION = 3")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue