diff --git a/README.md b/README.md index 23d218722b..437a3a2aa5 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ It uses JavaCC and Antlr to parse source files into abstract syntax trees (AST) Rules can be written in Java or using a XPath query. It supports Java, JavaScript, Salesforce.com Apex and Visualforce, -Modelica, PLSQL, Apache Velocity, XML, XSL. +Modelica, PLSQL, Apache Velocity, HTML, XML and XSL. Scala is supported, but there are currently no Scala rules available. -Additionally it includes **CPD**, the copy-paste-detector. CPD finds duplicated code in -C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, -Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift, Visualforce and XML. +Additionally, it includes **CPD**, the copy-paste-detector. CPD finds duplicated code in +C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, +Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex and Visualforce, Scala, Swift, T-SQL and XML. In the future we hope to add support for data/control flow analysis and automatic (quick) fixes where it makes sense. diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 75d5480d5d..96b7f96794 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -14,6 +14,15 @@ This is a {{ site.pmd.release_type }} release. ### New and noteworthy +#### T-SQL support +Thanks to the contribution from [Paul Guyot](https://github.com/pguyot) PMD now has CPD support +for T-SQL (Transact-SQL). + +Being based on a proper Antlr grammar, CPD can: + +* ignore comments +* honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression) + ### Fixed Issues * java-errorprone * [#4393](https://github.com/pmd/pmd/issues/4393): \[java] MissingStaticMethodInNonInstantiatableClass false-positive for Lombok's @UtilityClass for classes with non-private fields @@ -27,6 +36,7 @@ This is a {{ site.pmd.release_type }} release. ### External Contributions * [#4384](https://github.com/pmd/pmd/pull/4384): \[swift] Add more swift 5.x support (#unavailable mainly) - [Richard B.](https://github.com/kenji21) (@kenji21) +* [#4390](https://github.com/pmd/pmd/pull/4390): Add support for T-SQL using Antlr4 lexer - [Paul Guyot](https://github.com/pguyot) (@pguyot) * [#4392](https://github.com/pmd/pmd/pull/4392): \[java] Fix #4393 MissingStaticMethodInNonInstantiatableClass: Fix false-positive for field-only class - [Dawid Ciok](https://github.com/dawiddc) (@dawiddc) {% endtocmaker %} diff --git a/pom.xml b/pom.xml index 68ffab93cf..b2ea18544a 100644 --- a/pom.xml +++ b/pom.xml @@ -9,12 +9,17 @@ PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, - unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex and Visualforce, - Modelica, PLSQL, Apache Velocity, HTML, XML, XSL, Scala. + unnecessary object creation, and so forth. It supports many languages. It can be extended with custom rules. + It uses JavaCC and Antlr to parse source files into abstract syntax trees (AST) and runs rules against them to find violations. + Rules can be written in Java or using a XPath query. - Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in + It supports Java, JavaScript, Salesforce.com Apex and Visualforce, + Modelica, PLSQL, Apache Velocity, HTML, XML and XSL. + Scala is supported, but there are currently no Scala rules available. + + Additionally, it includes CPD, the copy-paste-detector. CPD finds duplicated code in C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica, - Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift and Visualforce. + Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex and Visualforce, Scala, Swift, T-SQL and XML. https://pmd.github.io/