Improved version template search path

This commit is contained in:
Erik C. Thauvin 2024-07-03 17:57:57 -07:00
parent c1c5433472
commit 7c07ad464b
Signed by: erik
GPG key ID: 776702A6A2DA330E
3 changed files with 13 additions and 9 deletions

View file

@ -66,7 +66,7 @@ public void genver() throws Exception {
.projectName("My App") .projectName("My App")
.packageName("com.example.myapp") .packageName("com.example.myapp")
.className("MyAppVersion") .className("MyAppVersion")
.classTemplate(new File(workDirectory, "myversion.txt")) .classTemplate("myversion.txt")
.execute(); .execute();
} }
``` ```

View file

@ -4,7 +4,6 @@ import rife.bld.BuildCommand;
import rife.bld.Project; import rife.bld.Project;
import rife.bld.extension.GeneratedVersionOperation; import rife.bld.extension.GeneratedVersionOperation;
import java.io.File;
import java.util.List; import java.util.List;
import static rife.bld.dependencies.Repository.MAVEN_CENTRAL; import static rife.bld.dependencies.Repository.MAVEN_CENTRAL;
@ -47,7 +46,7 @@ public class SampleBuild extends Project {
new GeneratedVersionOperation() new GeneratedVersionOperation()
.fromProject(this) .fromProject(this)
// .projectName("My App") // .projectName("My App")
// .classTemplate(new File(workDirectory, "myversion.txt")) // .classTemplate("myversion.txt")
.execute(); .execute();
} }
} }

View file

@ -26,7 +26,6 @@ import rife.tools.FileUtils;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Objects;
/** /**
* GeneratedVersion data class. * GeneratedVersion data class.
@ -45,7 +44,7 @@ public class GeneratedVersion {
private static final String REVISION = "revision"; private static final String REVISION = "revision";
private static final String VERSION = "version"; private static final String VERSION = "version";
private File classFile_; private File classFile_;
private String className_; private String className_ = "GeneratedVersion";
private File directory_; private File directory_;
private String extension_ = ".java"; private String extension_ = ".java";
private String packageName_; private String packageName_;
@ -64,9 +63,15 @@ public class GeneratedVersion {
if (template_ == null) { if (template_ == null) {
template = TemplateFactory.TXT.get("version.txt"); template = TemplateFactory.TXT.get("version.txt");
} else { } else {
var files = new ResourceFinderDirectories(template_.getParentFile()); File parent;
template = new TemplateFactory(TemplateConfig.TXT, "txtFiles", TemplateFactory.TXT) if (template_.getParentFile() != null) {
.setResourceFinder(files).get(template_.getName()); parent = template_.getParentFile();
} else {
parent = new File(template_.getAbsolutePath()).getParentFile();
}
var dirs = new ResourceFinderDirectories(parent);
template = new TemplateFactory(TemplateConfig.TXT, "txt", TemplateFactory.TXT)
.setResourceFinder(dirs).get(template_.getName());
} }
if (packageName_ == null) { if (packageName_ == null) {
@ -78,7 +83,7 @@ public class GeneratedVersion {
} }
if (template.hasValueId(CLASSNAME)) { if (template.hasValueId(CLASSNAME)) {
template.setValue(CLASSNAME, Objects.requireNonNullElse(className_, "GeneratedVersion")); template.setValue(CLASSNAME, className_);
} }
if (template.hasValueId(PROJECT)) { if (template.hasValueId(PROJECT)) {