From b7a80c020d5a410320e2dc57aaf8afaa98b24497 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Wed, 30 Apr 2025 22:33:15 +0200 Subject: [PATCH 01/12] #200 [core] Migrate to Java 21 --- pom.xml | 28 ++++--------------- .../maven/plugins/pmd/AbstractPmdReport.java | 2 +- .../apache/maven/plugins/pmd/PmdReport.java | 2 +- .../maven/plugins/pmd/exec/CpdRequest.java | 2 ++ .../maven/plugins/pmd/exec/Executor.java | 4 +-- .../maven/plugins/pmd/exec/PmdExecutor.java | 3 +- .../maven/plugins/pmd/exec/PmdRequest.java | 2 ++ .../plugins/pmd/CapturingPrintStream.java | 4 +-- 8 files changed, 17 insertions(+), 30 deletions(-) diff --git a/pom.xml b/pom.xml index ddb9138e..2f15d847 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ under the License. - 8 + 21 3.6.3 7.12.0 1.7.36 @@ -96,6 +96,11 @@ under the License. + + jakarta.inject + jakarta.inject-api + 1.0.3 + org.apache.maven maven-core @@ -390,27 +395,6 @@ under the License. - - org.codehaus.mojo - animal-sniffer-maven-plugin - 1.24 - - - org.codehaus.mojo.signature - java18 - 1.0 - - - - - check-java-1.8-compat - - check - - process-classes - - - diff --git a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java index fc582b6b..f08b2435 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java @@ -496,7 +496,7 @@ protected final Toolchain getToolchain() { (List) getToolchainsMethod.invoke(toolchainManager, session, "jdk", jdkToolchain); if (tcs != null && !tcs.isEmpty()) { - tc = tcs.get(0); + tc = tcs.getFirst(); } } catch (NoSuchMethodException | SecurityException diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java index a3cc784e..be4b8553 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java @@ -473,7 +473,7 @@ protected String getLocationTemp(String name, int position) { if (loc.endsWith(".xml")) { loc = loc.substring(0, loc.length() - 4); } - loc = String.format("%03d-%s.xml", position, loc); + loc = "%03d-%s.xml".formatted(position, loc); getLog().debug("Before: " + name + " After: " + loc); return loc; diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java index 32e3c396..c8ef995a 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java @@ -19,6 +19,7 @@ package org.apache.maven.plugins.pmd.exec; import java.io.File; +import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -34,6 +35,7 @@ *

Some properties might be optional and can be null. */ public class CpdRequest implements Serializable { + @Serial private static final long serialVersionUID = -7585852992660240668L; private String javaExecutable; diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java index e128f7c1..34ecca65 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java @@ -67,8 +67,8 @@ protected static String buildClasspath() { } static void buildClasspath(StringBuilder classpath, ClassLoader cl) { - if (cl instanceof URLClassLoader) { - for (URL url : ((URLClassLoader) cl).getURLs()) { + if (cl instanceof URLClassLoader loader) { + for (URL url : loader.getURLs()) { if ("file".equalsIgnoreCase(url.getProtocol())) { try { String filename = URLDecoder.decode(url.getPath(), StandardCharsets.UTF_8.name()); diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java index 5c9d0fd2..1ef98312 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java @@ -205,8 +205,7 @@ private PmdResult run() throws MavenReportException { } finally { if (request.getAuxClasspath() != null) { ClassLoader classLoader = configuration.getClassLoader(); - if (classLoader instanceof Closeable) { - Closeable closeable = (Closeable) classLoader; + if (classLoader instanceof Closeable closeable) { try { closeable.close(); } catch (IOException ex) { diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java index 1982e002..b621064d 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java @@ -19,6 +19,7 @@ package org.apache.maven.plugins.pmd.exec; import java.io.File; +import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -33,6 +34,7 @@ *

Some properties might be optional and can be null. */ public class PmdRequest implements Serializable { + @Serial private static final long serialVersionUID = -6324416880563476455L; private String javaExecutable; diff --git a/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java b/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java index f22d8fa5..948062a4 100644 --- a/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java +++ b/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java @@ -55,8 +55,8 @@ public static void init(boolean quiet) { } public static CapturingPrintStream get() { - if (System.out instanceof CapturingPrintStream) { - return (CapturingPrintStream) System.out; + if (System.out instanceof CapturingPrintStream stream) { + return stream; } return null; } From 6f2992147bfc84b2d71aa84cd64e129ec26c9c8c Mon Sep 17 00:00:00 2001 From: Pankraz76 <8830888+Pankraz76@users.noreply.github.com> Date: Fri, 2 May 2025 21:26:34 +0200 Subject: [PATCH 02/12] Update pom.xml apply remove this --- pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pom.xml b/pom.xml index 2f15d847..1d5af86a 100644 --- a/pom.xml +++ b/pom.xml @@ -96,11 +96,6 @@ under the License. - - jakarta.inject - jakarta.inject-api - 1.0.3 - org.apache.maven maven-core From 2d438a8cfb40db737aead7ff6a2289086b112359 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:49:17 +0200 Subject: [PATCH 03/12] excludeFromFailureFile --- .../java/org/apache/maven/plugins/pmd/PmdReportRenderer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index d961eebb..7faf5c5c 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -173,6 +173,7 @@ private void addRuleName(Violation ruleViolation) { } private void renderSingleRuleViolation(Violation ruleViolation, PmdFileInfo fileInfo) { + // add to file log sink.tableRow(); sink.tableCell(); addRuleName(ruleViolation); From 642f555fb0d84ce805c02189c58633c25ba774dd Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:50:26 +0200 Subject: [PATCH 04/12] excludeFromFailureFile --- .../java/org/apache/maven/plugins/pmd/PmdReportRenderer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 7faf5c5c..2bc2fb99 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -294,6 +294,7 @@ public int compare(Violation o1, Violation o2) { if (fileSectionStarted) { endFileSection(); } + // print log file; } private void outputLineLink(int line, PmdFileInfo fileInfo) { From 662fc36ed51a3739f626a02d1fcda4925dc78901 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:52:29 +0200 Subject: [PATCH 05/12] excludeFromFailureFile --- .../org/apache/maven/plugins/pmd/PmdReportRenderer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 2bc2fb99..4faa7f19 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -294,7 +294,11 @@ public int compare(Violation o1, Violation o2) { if (fileSectionStarted) { endFileSection(); } - // print log file; + printExcludeFromFailureFileLog(); + } + + private void printExcludeFromFailureFileLog() { + System.out.println("printExcludeFromFailureFileLog"); } private void outputLineLink(int line, PmdFileInfo fileInfo) { From c60d689d3117ec7c493b44616a5b0d5bcafeddaf Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:53:17 +0200 Subject: [PATCH 06/12] excludeFromFailureFile --- .../java/org/apache/maven/plugins/pmd/PmdReportRenderer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 4faa7f19..8d034541 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -299,6 +299,7 @@ public int compare(Violation o1, Violation o2) { private void printExcludeFromFailureFileLog() { System.out.println("printExcludeFromFailureFileLog"); + System.out.println(violations); } private void outputLineLink(int line, PmdFileInfo fileInfo) { From 4f31c3d5029a35f9da9a7c16ddad05787d584dd0 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:55:47 +0200 Subject: [PATCH 07/12] excludeFromFailureFile --- .../java/org/apache/maven/plugins/pmd/PmdReportRenderer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 8d034541..6883d444 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -29,6 +29,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.stream.Collectors; import net.sourceforge.pmd.lang.rule.RulePriority; import org.apache.maven.doxia.sink.Sink; @@ -299,7 +300,7 @@ public int compare(Violation o1, Violation o2) { private void printExcludeFromFailureFileLog() { System.out.println("printExcludeFromFailureFileLog"); - System.out.println(violations); + System.out.println(violations.stream().map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText()))); } private void outputLineLink(int line, PmdFileInfo fileInfo) { From 3be874a31a49dd4584da9282f66fb336e52ff232 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:56:54 +0200 Subject: [PATCH 08/12] excludeFromFailureFile --- .../java/org/apache/maven/plugins/pmd/PmdReportRenderer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 6883d444..6be84f33 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -299,8 +299,8 @@ public int compare(Violation o1, Violation o2) { } private void printExcludeFromFailureFileLog() { - System.out.println("printExcludeFromFailureFileLog"); - System.out.println(violations.stream().map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText()))); + log.warn("printExcludeFromFailureFileLog"); + log.warn(violations.stream().map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText())).toString()); } private void outputLineLink(int line, PmdFileInfo fileInfo) { From 90720c0eead9ac7e6368581fb03a03093250d644 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:58:00 +0200 Subject: [PATCH 09/12] excludeFromFailureFile --- .../org/apache/maven/plugins/pmd/PmdReportRenderer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 6be84f33..11503918 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -29,7 +29,6 @@ import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; import net.sourceforge.pmd.lang.rule.RulePriority; import org.apache.maven.doxia.sink.Sink; @@ -299,8 +298,10 @@ public int compare(Violation o1, Violation o2) { } private void printExcludeFromFailureFileLog() { - log.warn("printExcludeFromFailureFileLog"); - log.warn(violations.stream().map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText())).toString()); + log.info("printExcludeFromFailureFileLog"); + log.info(violations.stream() + .map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText())) + .toString()); } private void outputLineLink(int line, PmdFileInfo fileInfo) { From 1c53ce631761f203957baafccf63be4b2f33c9a8 Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:58:47 +0200 Subject: [PATCH 10/12] logExcludeFromFailureFileSuppressions --- .../org/apache/maven/plugins/pmd/PmdReportRenderer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 11503918..689a9f68 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -294,11 +294,11 @@ public int compare(Violation o1, Violation o2) { if (fileSectionStarted) { endFileSection(); } - printExcludeFromFailureFileLog(); + logExcludeFromFailureFileSuppressions(); } - private void printExcludeFromFailureFileLog() { - log.info("printExcludeFromFailureFileLog"); + private void logExcludeFromFailureFileSuppressions() { + log.info("logExcludeFromFailureFileSuppressions"); log.info(violations.stream() .map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText())) .toString()); From 2ee576f5ee00adb37be9e3b55fafe44c3674014b Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 12:59:05 +0200 Subject: [PATCH 11/12] logExcludeFromFailureFileSuppressions --- pom.xml | 23 ++++++++++++++++++- .../maven/plugins/pmd/AbstractPmdReport.java | 2 +- .../apache/maven/plugins/pmd/PmdReport.java | 2 +- .../maven/plugins/pmd/PmdReportRenderer.java | 3 +-- .../maven/plugins/pmd/exec/CpdRequest.java | 2 -- .../maven/plugins/pmd/exec/Executor.java | 4 ++-- .../maven/plugins/pmd/exec/PmdExecutor.java | 3 ++- .../maven/plugins/pmd/exec/PmdRequest.java | 2 -- .../plugins/pmd/CapturingPrintStream.java | 4 ++-- 9 files changed, 31 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index 1d5af86a..ddb9138e 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ under the License. - 21 + 8 3.6.3 7.12.0 1.7.36 @@ -390,6 +390,27 @@ under the License. + + org.codehaus.mojo + animal-sniffer-maven-plugin + 1.24 + + + org.codehaus.mojo.signature + java18 + 1.0 + + + + + check-java-1.8-compat + + check + + process-classes + + + diff --git a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java index f08b2435..fc582b6b 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java @@ -496,7 +496,7 @@ protected final Toolchain getToolchain() { (List) getToolchainsMethod.invoke(toolchainManager, session, "jdk", jdkToolchain); if (tcs != null && !tcs.isEmpty()) { - tc = tcs.getFirst(); + tc = tcs.get(0); } } catch (NoSuchMethodException | SecurityException diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java index be4b8553..a3cc784e 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java @@ -473,7 +473,7 @@ protected String getLocationTemp(String name, int position) { if (loc.endsWith(".xml")) { loc = loc.substring(0, loc.length() - 4); } - loc = "%03d-%s.xml".formatted(position, loc); + loc = String.format("%03d-%s.xml", position, loc); getLog().debug("Before: " + name + " After: " + loc); return loc; diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 689a9f68..2df9cf75 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -173,7 +173,6 @@ private void addRuleName(Violation ruleViolation) { } private void renderSingleRuleViolation(Violation ruleViolation, PmdFileInfo fileInfo) { - // add to file log sink.tableRow(); sink.tableCell(); addRuleName(ruleViolation); @@ -300,7 +299,7 @@ public int compare(Violation o1, Violation o2) { private void logExcludeFromFailureFileSuppressions() { log.info("logExcludeFromFailureFileSuppressions"); log.info(violations.stream() - .map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getText())) + .map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getRule())) .toString()); } diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java index c8ef995a..32e3c396 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.pmd.exec; import java.io.File; -import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -35,7 +34,6 @@ *

Some properties might be optional and can be null. */ public class CpdRequest implements Serializable { - @Serial private static final long serialVersionUID = -7585852992660240668L; private String javaExecutable; diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java index 34ecca65..e128f7c1 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java @@ -67,8 +67,8 @@ protected static String buildClasspath() { } static void buildClasspath(StringBuilder classpath, ClassLoader cl) { - if (cl instanceof URLClassLoader loader) { - for (URL url : loader.getURLs()) { + if (cl instanceof URLClassLoader) { + for (URL url : ((URLClassLoader) cl).getURLs()) { if ("file".equalsIgnoreCase(url.getProtocol())) { try { String filename = URLDecoder.decode(url.getPath(), StandardCharsets.UTF_8.name()); diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java index 1ef98312..5c9d0fd2 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java @@ -205,7 +205,8 @@ private PmdResult run() throws MavenReportException { } finally { if (request.getAuxClasspath() != null) { ClassLoader classLoader = configuration.getClassLoader(); - if (classLoader instanceof Closeable closeable) { + if (classLoader instanceof Closeable) { + Closeable closeable = (Closeable) classLoader; try { closeable.close(); } catch (IOException ex) { diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java index b621064d..1982e002 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdRequest.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.pmd.exec; import java.io.File; -import java.io.Serial; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; @@ -34,7 +33,6 @@ *

Some properties might be optional and can be null. */ public class PmdRequest implements Serializable { - @Serial private static final long serialVersionUID = -6324416880563476455L; private String javaExecutable; diff --git a/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java b/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java index 948062a4..f22d8fa5 100644 --- a/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java +++ b/src/test/java/org/apache/maven/plugins/pmd/CapturingPrintStream.java @@ -55,8 +55,8 @@ public static void init(boolean quiet) { } public static CapturingPrintStream get() { - if (System.out instanceof CapturingPrintStream stream) { - return stream; + if (System.out instanceof CapturingPrintStream) { + return (CapturingPrintStream) System.out; } return null; } From b655c499d6a4e807dc35d5aee24116d39f37c51b Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sat, 17 May 2025 13:45:50 +0200 Subject: [PATCH 12/12] logExcludeFromFailureFileSuppressions --- .../apache/maven/plugins/pmd/PmdReportRenderer.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java index 2df9cf75..25df1f99 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReportRenderer.java @@ -29,6 +29,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.stream.Collectors; import net.sourceforge.pmd.lang.rule.RulePriority; import org.apache.maven.doxia.sink.Sink; @@ -298,9 +299,15 @@ public int compare(Violation o1, Violation o2) { private void logExcludeFromFailureFileSuppressions() { log.info("logExcludeFromFailureFileSuppressions"); - log.info(violations.stream() - .map(violation -> String.format("%s:%s", violation.getViolationClass(), violation.getRule())) - .toString()); + violations.stream() + .collect(Collectors.groupingBy( + Violation::getViolationClass, + Collectors.mapping( + Violation::getRule, + Collectors.joining(",") + ) + )).forEach((className, rules) -> + log.info(String.format("%s=%s", className, rules))); } private void outputLineLink(int line, PmdFileInfo fileInfo) {