Compare commits

..

2 commits

7 changed files with 60 additions and 10 deletions

6
.idea/bld.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="BldConfiguration">
<events />
</component>
</project>

View file

@ -1,6 +1,6 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
bld.extension-gv=com.uwyn.rife2:bld-generated-version:0.9.8
bld.extension-gv=com.uwyn.rife2:bld-generated-version:0.9.9-SNAPSHOT
bld.repositories=MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.version=2.0.1

View file

@ -27,8 +27,8 @@ public class SampleBuild extends Project {
repositories = List.of(MAVEN_CENTRAL, RIFE2_RELEASES);
scope(test)
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 3)));
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)));
}
public static void main(String[] args) {

View file

@ -12,7 +12,7 @@ import java.util.Date;
*/
public final class GeneratedVersion {
public static final String PROJECT = "Sample";
public static final Date BUILD_DATE = new Date(1722235624114L);
public static final Date BUILD_DATE = new Date(1724831563821L);
public static final int MAJOR = 1;
public static final int MINOR = 0;
public static final int REVISION = 1;

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;
@ -46,8 +46,8 @@ public class GeneratedVersionOperationBuild extends Project {
scope(compile)
.include(dependency("com.uwyn.rife2", "bld", version(2, 0, 1)));
scope(test)
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 3)))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)))
.include(dependency("org.assertj", "assertj-core", version(3, 26, 3)));
precompileOperation()

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();