From 7a07befb71d2cfafc3344fd3f09ca65752100b19 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 28 Aug 2026 14:34:47 +0200 Subject: [PATCH 1/4] Bump PMD from 7.26.0 to 7.27.0 --- ReleaseNotes.md | 1 + pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index dd8790b1..362ae0bb 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -12,6 +12,7 @@ Eclipse Update Site: This is a minor release. ### 🚀 New and noteworthy +* Update to PMD 7.27.0 ### 🐛 Fixed Issues diff --git a/pom.xml b/pom.xml index bcd55a61..e0eee0a8 100644 --- a/pom.xml +++ b/pom.xml @@ -21,12 +21,12 @@ 5.0.2 UTF-8 - 7.26.0 + 7.27.0 40 14.0.0 3.6.0 3.28.0 - 7.26.0 + 7.27.0 .ci/files/pmd-eclipse-plugin.p12 ${basedir}/${keystorePath} From 166fa8c42aa70ae2934905ce0608b171e08b8610 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 28 Aug 2026 15:26:02 +0200 Subject: [PATCH 2/4] Update dependencies --- .../META-INF/MANIFEST.MF | 14 +++++++++----- .../build.properties | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF b/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF index 31a03818..f83a6719 100644 --- a/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF +++ b/net.sourceforge.pmd.eclipse.plugin/META-INF/MANIFEST.MF @@ -19,20 +19,19 @@ Bundle-ClassPath: ., target/schema/, target/lib/ch.qos.logback.logback-classic.jar, target/lib/ch.qos.logback.logback-core.jar, + target/lib/com.github.adangel.summit-ast.jar, target/lib/com.github.nawforce.scala-json-rpc_2.13.jar, target/lib/com.github.nawforce.scala-json-rpc-upickle-json-serializer_2.13.jar, target/lib/com.github.oowekyala.ooxml.nice-xml-messages.jar, target/lib/com.github.pathikrit.better-files_2.13.jar, - target/lib/com.google.code.findbugs.jsr305.jar, + target/lib/com.github.weisj.jsvg.jar, target/lib/com.google.code.gson.gson.jar, target/lib/com.google.errorprone.error_prone_annotations.jar, - target/lib/com.google.flogger.flogger-system-backend.jar, - target/lib/com.google.flogger.flogger.jar, target/lib/com.google.guava.failureaccess.jar, target/lib/com.google.guava.guava.jar, target/lib/com.google.guava.listenablefuture.jar, target/lib/com.google.j2objc.j2objc-annotations.jar, - target/lib/com.google.summit.summit-ast.jar, + target/lib/com.ibm.icu.icu4j.jar, target/lib/com.lihaoyi.geny_2.13.jar, target/lib/com.lihaoyi.mainargs_2.13.jar, target/lib/com.lihaoyi.sourcecode_2.13.jar, @@ -43,6 +42,8 @@ Bundle-ClassPath: ., target/lib/com.lihaoyi.upickle-implicits_2.13.jar, target/lib/com.sun.xml.bind.jaxb-core.jar, target/lib/com.sun.xml.bind.jaxb-impl.jar, + target/lib/commons-io.commons-io.jar, + target/lib/commons-logging.commons-logging.jar, target/lib/io.github.apex-dev-tools.apex-ls_2.13.jar, target/lib/io.github.apex-dev-tools.apex-parser.jar, target/lib/io.github.apex-dev-tools.apex-types_2.13.jar, @@ -50,6 +51,7 @@ Bundle-ClassPath: ., target/lib/io.github.apex-dev-tools.sobject-types.jar, target/lib/io.github.apex-dev-tools.standard-types.jar, target/lib/io.github.apex-dev-tools.vf-parser.jar, + target/lib/io.github.java-diff-utils.java-diff-utils.jar, target/lib/io.methvin.directory-watcher-better-files_2.13.jar, target/lib/io.methvin.directory-watcher.jar, target/lib/jakarta.activation.jakarta.activation-api.jar, @@ -58,6 +60,7 @@ Bundle-ClassPath: ., target/lib/jakarta.xml.bind.jakarta.xml.bind-api.jar, target/lib/javax.annotation.jsr250-api.jar, target/lib/net.java.dev.jna.jna.jar, + target/lib/net.java.dev.jna.jna-platform.jar, target/lib/net.sf.saxon.Saxon-HE.jar, target/lib/net.sourceforge.pmd.pmd-apex.jar, target/lib/net.sourceforge.pmd.pmd-coco.jar, @@ -92,10 +95,11 @@ Bundle-ClassPath: ., target/lib/net.sourceforge.pmd.pmd-velocity.jar, target/lib/net.sourceforge.pmd.pmd-visualforce.jar, target/lib/net.sourceforge.pmd.pmd-xml.jar, + target/lib/nl.stokpop.typemapper.kotlin-type-mapper-analyzer.jar, + target/lib/nl.stokpop.typemapper.kotlin-type-mapper-model.jar, target/lib/org.antlr.antlr4-runtime.jar, target/lib/org.apache.commons.commons-lang3.jar, target/lib/org.apache.groovy.groovy.jar, - target/lib/org.checkerframework.checker-compat-qual.jar, target/lib/org.checkerframework.checker-qual.jar, target/lib/org.danilopianini.gson-extras.jar, target/lib/org.jetbrains.annotations.jar, diff --git a/net.sourceforge.pmd.eclipse.plugin/build.properties b/net.sourceforge.pmd.eclipse.plugin/build.properties index f634cd99..e952a5d9 100644 --- a/net.sourceforge.pmd.eclipse.plugin/build.properties +++ b/net.sourceforge.pmd.eclipse.plugin/build.properties @@ -20,20 +20,19 @@ bin.includes = .,\ target/schema/,\ target/lib/ch.qos.logback.logback-classic.jar,\ target/lib/ch.qos.logback.logback-core.jar,\ + target/lib/com.github.adangel.summit-ast.jar,\ target/lib/com.github.nawforce.scala-json-rpc_2.13.jar,\ target/lib/com.github.nawforce.scala-json-rpc-upickle-json-serializer_2.13.jar,\ target/lib/com.github.oowekyala.ooxml.nice-xml-messages.jar,\ target/lib/com.github.pathikrit.better-files_2.13.jar,\ - target/lib/com.google.code.findbugs.jsr305.jar,\ + target/lib/com.github.weisj.jsvg.jar,\ target/lib/com.google.code.gson.gson.jar,\ target/lib/com.google.errorprone.error_prone_annotations.jar,\ - target/lib/com.google.flogger.flogger-system-backend.jar,\ - target/lib/com.google.flogger.flogger.jar,\ target/lib/com.google.guava.failureaccess.jar,\ target/lib/com.google.guava.guava.jar,\ target/lib/com.google.guava.listenablefuture.jar,\ target/lib/com.google.j2objc.j2objc-annotations.jar,\ - target/lib/com.google.summit.summit-ast.jar,\ + target/lib/com.ibm.icu.icu4j.jar,\ target/lib/com.lihaoyi.geny_2.13.jar,\ target/lib/com.lihaoyi.mainargs_2.13.jar,\ target/lib/com.lihaoyi.sourcecode_2.13.jar,\ @@ -44,6 +43,8 @@ bin.includes = .,\ target/lib/com.lihaoyi.upickle-implicits_2.13.jar,\ target/lib/com.sun.xml.bind.jaxb-core.jar,\ target/lib/com.sun.xml.bind.jaxb-impl.jar,\ + target/lib/commons-io.commons-io.jar,\ + target/lib/commons-logging.commons-logging.jar,\ target/lib/io.github.apex-dev-tools.apex-ls_2.13.jar,\ target/lib/io.github.apex-dev-tools.apex-parser.jar,\ target/lib/io.github.apex-dev-tools.apex-types_2.13.jar,\ @@ -51,6 +52,7 @@ bin.includes = .,\ target/lib/io.github.apex-dev-tools.sobject-types.jar,\ target/lib/io.github.apex-dev-tools.standard-types.jar,\ target/lib/io.github.apex-dev-tools.vf-parser.jar,\ + target/lib/io.github.java-diff-utils.java-diff-utils.jar,\ target/lib/io.methvin.directory-watcher-better-files_2.13.jar,\ target/lib/io.methvin.directory-watcher.jar,\ target/lib/jakarta.activation.jakarta.activation-api.jar,\ @@ -59,6 +61,7 @@ bin.includes = .,\ target/lib/jakarta.xml.bind.jakarta.xml.bind-api.jar,\ target/lib/javax.annotation.jsr250-api.jar,\ target/lib/net.java.dev.jna.jna.jar,\ + target/lib/net.java.dev.jna.jna-platform.jar,\ target/lib/net.sf.saxon.Saxon-HE.jar,\ target/lib/net.sourceforge.pmd.pmd-apex.jar,\ target/lib/net.sourceforge.pmd.pmd-coco.jar,\ @@ -93,10 +96,11 @@ bin.includes = .,\ target/lib/net.sourceforge.pmd.pmd-velocity.jar,\ target/lib/net.sourceforge.pmd.pmd-visualforce.jar,\ target/lib/net.sourceforge.pmd.pmd-xml.jar,\ + target/lib/nl.stokpop.typemapper.kotlin-type-mapper-analyzer.jar,\ + target/lib/nl.stokpop.typemapper.kotlin-type-mapper-model.jar,\ target/lib/org.antlr.antlr4-runtime.jar,\ target/lib/org.apache.commons.commons-lang3.jar,\ target/lib/org.apache.groovy.groovy.jar,\ - target/lib/org.checkerframework.checker-compat-qual.jar,\ target/lib/org.checkerframework.checker-qual.jar,\ target/lib/org.danilopianini.gson-extras.jar,\ target/lib/org.jetbrains.annotations.jar,\ From 711a1ab8e3d1670626356836c214c2285f6c0335 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 28 Aug 2026 15:30:03 +0200 Subject: [PATCH 3/4] Fix PMD Violation - ReturnEmptyCollectionRatherThanNull --- .../pmd/eclipse/ui/model/AbstractPMDRecord.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/AbstractPMDRecord.java b/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/AbstractPMDRecord.java index 9f6f9c20..7d78d298 100644 --- a/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/AbstractPMDRecord.java +++ b/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/model/AbstractPMDRecord.java @@ -163,14 +163,13 @@ public IMarker[] findMarkers() { if (element.hasMarkers()) { // get the children markers final IMarker[] childrenMarkers = element.findMarkers(); - if (childrenMarkers != null) { - // ...and add them to the list - markerList.addAll(Arrays.asList(childrenMarkers)); - } + + // ...and add them to the list + markerList.addAll(Arrays.asList(childrenMarkers)); } } - return markerList.isEmpty() ? null : markerList.toArray(new IMarker[0]); + return markerList.toArray(new IMarker[0]); } /** From 55bc3a88d0ee33a4a385c0741336c4a61fc53faa Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 28 Aug 2026 15:56:36 +0200 Subject: [PATCH 4/4] fix: Only set the auxclasspath once --- .../net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java b/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java index 329d88de..3a31cbb8 100644 --- a/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java +++ b/net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/runtime/cmd/BaseVisitor.java @@ -238,7 +238,9 @@ protected final void reviewResource(IResource resource) { } LOG.debug("discovered language: {}", languageVersion); - if (PMDPlugin.getDefault().loadPreferences().isProjectBuildPathEnabled()) { + if (PMDPlugin.getDefault().loadPreferences().isProjectBuildPathEnabled() + && configuration().getAuxClasspath() == null) { + // only set the auxclasspath once configuration().prependAuxClasspath(projectProperties.getClasspath()); }