From 3a66d50ac29264bcc7da364edef47464ac480e6c Mon Sep 17 00:00:00 2001 From: Krzysztof Debski Date: Thu, 11 Jul 2024 15:16:23 +0200 Subject: [PATCH 1/3] [java] Do not report MissingStaticMethodInNonInstantiatableClass for private constructor with @lombok.Builder --- .../src/main/resources/category/java/errorprone.xml | 2 +- .../MissingStaticMethodInNonInstantiatableClass.xml | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml index 2900e6dd7c..81c8ef5472 100644 --- a/pmd-java/src/main/resources/category/java/errorprone.xml +++ b/pmd-java/src/main/resources/category/java/errorprone.xml @@ -2086,7 +2086,7 @@ See the property `annotations`. 3 - + + + + + #1488:[java]false-positive about MissingStaticMethodInNonInstantiatableClass and @lombok.Builder + 0 + From 3609034bf7e54c86da5ef4de26d01f9e17168ac7 Mon Sep 17 00:00:00 2001 From: Krzysztof Debski Date: Thu, 11 Jul 2024 17:24:38 +0200 Subject: [PATCH 2/3] [java] Do not report MissingStaticMethodInNonInstantiatableClass for class with @lombok.Builder --- .../main/resources/category/java/errorprone.xml | 3 ++- ...MissingStaticMethodInNonInstantiatableClass.xml | 14 +++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pmd-java/src/main/resources/category/java/errorprone.xml b/pmd-java/src/main/resources/category/java/errorprone.xml index 81c8ef5472..3d5f1d84c1 100644 --- a/pmd-java/src/main/resources/category/java/errorprone.xml +++ b/pmd-java/src/main/resources/category/java/errorprone.xml @@ -2099,7 +2099,8 @@ $topLevelClass[ (: no lombok produced constructors :) not(pmd-java:hasAnnotation('lombok.NoArgsConstructor') or pmd-java:hasAnnotation('lombok.RequiredArgsConstructor') or - pmd-java:hasAnnotation('lombok.AllArgsConstructor')) and + pmd-java:hasAnnotation('lombok.AllArgsConstructor') or + pmd-java:hasAnnotation('lombok.Builder')) and (: or has non-default constructors … :) ClassBody/ConstructorDeclaration and (: … but only private … :) diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml index 648fea366f..b52d0be101 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/errorprone/xml/MissingStaticMethodInNonInstantiatableClass.xml @@ -594,7 +594,7 @@ public class Bar extends Foo { - #1488:[java]false-positive about MissingStaticMethodInNonInstantiatableClass and @lombok.Builder + #1488:[java]false-positive about MissingStaticMethodInNonInstantiatableClass and @lombok.Builder on constructor 0 + + + + #1488:[java]false-positive about MissingStaticMethodInNonInstantiatableClass and @lombok.Builder on class + 0 + From 8462c7507726b0683c3245bdd5f237fe51cd3cc2 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Fri, 19 Jul 2024 14:39:17 +0200 Subject: [PATCH 3/3] [doc] Update release notes (#5109, #1488) --- docs/pages/release_notes.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 8038d97525..8fe0927f01 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -15,6 +15,8 @@ This is a {{ site.pmd.release_type }} release. ### 🚀 New and noteworthy ### 🐛 Fixed Issues +* java-errorprone + * [#1488](https://github.com/pmd/pmd/issues/1488): \[java] MissingStaticMethodInNonInstantiatableClass: False positive with Lombok Builder on Constructor * plsql * [#5086](https://github.com/pmd/pmd/pull/5086): \[plsql] Fixed issue with missing optional table alias in MERGE usage * [#5087](https://github.com/pmd/pmd/pull/5087): \[plsql] Add support for SQL_MACRO @@ -27,6 +29,7 @@ This is a {{ site.pmd.release_type }} release. * [#5087](https://github.com/pmd/pmd/pull/5087): \[plsql] Add support for SQL_MACRO - [Arjen Duursma](https://github.com/duursma) (@duursma) * [#5088](https://github.com/pmd/pmd/pull/5088): \[plsql] Add support for 'DEFAULT' clause on the arguments of some oracle functions - [Arjen Duursma](https://github.com/duursma) (@duursma) * [#5107](https://github.com/pmd/pmd/pull/5107): \[doc] Update maven.md - Typo fixed for maven target - [karthikaiyasamy](https://github.com/karthikaiyasamy) (@karthikaiyasamy) +* [#5109](https://github.com/pmd/pmd/pull/5109): \[java] Exclude constructor with lombok.Builder for MissingStaticMethodInNonInstantiatableClass - [Krzysztof Debski](https://github.com/kdebski85) (@kdebski85) {% endtocmaker %}