Cleaned up API to match bld operations aand options APIs

This commit is contained in:
Erik C. Thauvin 2024-08-28 00:56:00 -07:00
parent 46b9a52215
commit eabca28d38
Signed by: erik
GPG key ID: 776702A6A2DA330E
6 changed files with 56 additions and 6 deletions

View file

@ -34,7 +34,7 @@ public class GeneratedVersionOperationBuild extends Project {
public GeneratedVersionOperationBuild() {
pkg = "rife.bld.extension";
name = "GeneratedVersionOperation";
version = version(0, 9, 8);
version = version(0, 9, 9, "SNAPSHOT");
javaRelease = 17;

View file

@ -22,6 +22,7 @@ import rife.bld.operations.AbstractOperation;
import rife.bld.operations.exceptions.ExitStatusException;
import java.io.File;
import java.nio.file.Path;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -67,6 +68,16 @@ public class GeneratedVersionOperation extends AbstractOperation<GeneratedVersio
return classTemplate(new File(template));
}
/**
* Sets the class template path.
*
* @param template the template path
* @return this operation instance
*/
public GeneratedVersionOperation classTemplate(Path template) {
return classTemplate(template.toFile());
}
/**
* Sets the destination directory.
*
@ -88,6 +99,16 @@ public class GeneratedVersionOperation extends AbstractOperation<GeneratedVersio
return directory(new File(directory));
}
/**
* Sets the destination directory.
*
* @param directory the destination directory
* @return this operation instance
*/
public GeneratedVersionOperation directory(Path directory) {
return directory(directory.toFile());
}
/**
* Generates a version data class for this project.
*/
@ -140,6 +161,15 @@ public class GeneratedVersionOperation extends AbstractOperation<GeneratedVersio
return this;
}
/**
* Retrieves the generated version instance.
*
* @return the generated version
*/
public GeneratedVersion generatedVersion() {
return generatedVersion_;
}
/**
* Sets the package name.
*

View file

@ -91,17 +91,16 @@ class GeneratedVersionTest {
gv.setClassName("MyVersion");
var t = gv.buildTemplate();
//noinspection TrailingWhitespacesInTextBlock
assertThat(t.getContent()).isEqualTo("""
package com.example.my;
public final class MyVersion {
public static final int PROJECT = "My App";
public static final int MAJOR = 2;
public static final int MINOR = 1;
public static final int REVISION = 3;
public static final String QUALIFIER = "";
private MyVersion() {
// no-op
}
@ -127,6 +126,21 @@ class GeneratedVersionTest {
.contains("private GeneratedVersion");
}
@Test
void testDirectories() {
var foo = new File("foo");
var bar = new File("bar");
var op = new GeneratedVersionOperation().directory(foo);
assertThat(op.generatedVersion().getDirectory()).as("as file").isEqualTo(foo);
op = op.directory(bar.toPath());
assertThat(op.generatedVersion().getDirectory()).as("as path").isEqualTo(bar);
op = op.directory("foo");
assertThat(op.generatedVersion().getDirectory()).as("as string").isEqualTo(foo);
}
@Test
void testExample() throws Exception {
var tmpDir = Files.createTempDirectory("bld-generated-version-example-").toFile();