From 7fbe9751280c5648ef8b24d3a4931662cd644473 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 25 Mar 2025 15:28:40 -0700 Subject: [PATCH] Cleanup workaround --- .../rife/bld/extension/PitestOperation.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/rife/bld/extension/PitestOperation.java b/src/main/java/rife/bld/extension/PitestOperation.java index 5d681da..632c58a 100644 --- a/src/main/java/rife/bld/extension/PitestOperation.java +++ b/src/main/java/rife/bld/extension/PitestOperation.java @@ -109,6 +109,19 @@ public class PitestOperation extends AbstractProcessOperation { return avoidCallsTo(List.of(avoidCallTo)); } + private String buildClassPath(String... path) { + var classpath = new StringBuilder(); + for (var p : path) { + if (!p.isBlank()) { + if (!classpath.isEmpty()) { + classpath.append(File.pathSeparator); + } + classpath.append(p); + } + } + return classpath.toString(); + } + /** * List of packages and classes which are to be considered outside the scope of mutation. Any lines of code * containing calls to these classes will not be mutated. @@ -432,10 +445,10 @@ public class PitestOperation extends AbstractProcessOperation { if (project_ != null) { args.add(javaTool()); args.add("-cp"); - args.add(String.format("%s%s%s%s%s%s", joinClasspathJar(project_.testClasspathJars()), + args.add(buildClassPath(joinClasspathJar(project_.testClasspathJars()), joinClasspathJar(project_.compileClasspathJars()), joinClasspathJar(project_.providedClasspathJars()), - project_.buildMainDirectory(), File.pathSeparator, project_.buildTestDirectory())); + project_.buildMainDirectory().getAbsolutePath(), project_.buildTestDirectory().getAbsolutePath())); args.add("org.pitest.mutationtest.commandline.MutationCoverageReport"); if (!options_.containsKey(SOURCE_DIRS)) { @@ -689,7 +702,7 @@ public class PitestOperation extends AbstractProcessOperation { private String joinClasspathJar(List jars) { if (!jars.isEmpty()) { - return String.join(File.pathSeparator, jars.stream().map(File::getAbsolutePath).toList()) + File.pathSeparator; + return String.join(File.pathSeparator, jars.stream().map(File::getAbsolutePath).toList()); } else { return ""; }