From cdcf900767ffdd5d2be977e671921ef59c4e2816 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 28 Aug 2024 10:43:07 -0700 Subject: [PATCH] Cleaned up API to match bld operations aand options APIs --- examples/lib/bld/bld-wrapper.properties | 4 +- .../extension/JacocoReportOperationBuild.java | 2 +- .../bld/extension/JacocoReportOperation.java | 163 ++++++++++++++++-- .../extension/JacocoReportOperationTest.java | 91 ++++++++++ 4 files changed, 246 insertions(+), 14 deletions(-) diff --git a/examples/lib/bld/bld-wrapper.properties b/examples/lib/bld/bld-wrapper.properties index bf6e607..538acb3 100644 --- a/examples/lib/bld/bld-wrapper.properties +++ b/examples/lib/bld/bld-wrapper.properties @@ -1,7 +1,7 @@ bld.downloadExtensionJavadoc=false bld.downloadExtensionSources=true bld.downloadLocation= -bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.2 -bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.7 +bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.3-SNAPSHOT +bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.8-SNAPSHOT bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES bld.version=2.0.1 diff --git a/src/bld/java/rife/bld/extension/JacocoReportOperationBuild.java b/src/bld/java/rife/bld/extension/JacocoReportOperationBuild.java index 5282d47..a581707 100644 --- a/src/bld/java/rife/bld/extension/JacocoReportOperationBuild.java +++ b/src/bld/java/rife/bld/extension/JacocoReportOperationBuild.java @@ -34,7 +34,7 @@ public class JacocoReportOperationBuild extends Project { public JacocoReportOperationBuild() { pkg = "rife.bld.extension"; name = "JacocoReportOperation"; - version = version(0, 9, 7); + version = version(0, 9, 8, "SNAPSHOT"); javaRelease = 17; diff --git a/src/main/java/rife/bld/extension/JacocoReportOperation.java b/src/main/java/rife/bld/extension/JacocoReportOperation.java index fbcad47..81e8262 100644 --- a/src/main/java/rife/bld/extension/JacocoReportOperation.java +++ b/src/main/java/rife/bld/extension/JacocoReportOperation.java @@ -35,7 +35,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.logging.Level; @@ -111,6 +110,7 @@ public class JacocoReportOperation extends AbstractOperation classFiles) { classFiles_.addAll(classFiles); return this; } + /** + * Sets the locations of Java class files. + * + * @param classFiles the class files + * @return this operation instance + * @see #classFiles(Path...) + */ + public JacocoReportOperation classFilesPaths(Collection classFiles) { + return classFiles(classFiles.stream().map(Path::toFile).toList()); + } + + /** + * Sets the locations of Java class files. + * + * @param classFiles the class files + * @return this operation instance + * @see #classFiles(String...) + */ + public JacocoReportOperation classFilesStrings(Collection classFiles) { + return classFiles(classFiles.stream().map(File::new).toList()); + } + /** * Sets the location of the CSV report. * @@ -169,6 +203,15 @@ public class JacocoReportOperation extends AbstractOperation execFiles) { execFiles_.addAll(execFiles); @@ -244,6 +309,28 @@ public class JacocoReportOperation extends AbstractOperation execFiles) { + return execFiles(execFiles.stream().map(Path::toFile).toList()); + } + + /** + * Sets the locations of the JaCoCo *.exec files to read. + * + * @param execFiles the exec files + * @return this operation instance + * @see #execFiles(String...) + */ + public JacocoReportOperation execFilesStrings(Collection execFiles) { + return execFiles(execFiles.stream().map(File::new).toList()); + } + /** * Performs the operation execution that can be wrapped by the {@code #executeOnce} call. */ @@ -343,6 +430,16 @@ public class JacocoReportOperation extends AbstractOperation sourceFiles) { sourceFiles_.addAll(sourceFiles); @@ -444,6 +553,28 @@ public class JacocoReportOperation extends AbstractOperation sourceFiles) { + return sourceFiles(sourceFiles.stream().map(Path::toFile).toList()); + } + + /** + * Sets the locations of the source files. (e.g., {@code src/main/java}) + * + * @param sourceFiles the source files + * @return this operation instance + * @see #sourceFiles(String...) + */ + public JacocoReportOperation sourceFilesStrings(Collection sourceFiles) { + return sourceFiles(sourceFiles.stream().map(File::new).toList()); + } + @SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops") private ISourceFileLocator sourceLocator() { var multi = new MultiSourceFileLocator(tabWidth_); @@ -502,4 +633,14 @@ public class JacocoReportOperation extends AbstractOperation