Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
28-October-2018 - 6.9.0
The PMD team is pleased to announce PMD 6.9.0.
This is a minor release.
Table Of Contents
- New and noteworthy
- Fixed Issues
- API Changes
- External Contributions
New and noteworthy
Improved Golang CPD Support
Thanks to the work of ITBA students Matías Fraga,
Tomi De Lucca and Lucas Soncini,
Golang is now backed by a proper Antlr Grammar. This means CPD is now better at detecting duplicates,
as comments are recognized as such and ignored.
- The new PLSQL rule
plsql-codestyle) verifies that
PLSQL code is properly formatted. It checks e.g. for correct indentation in select statements and verifies
that each parameter is defined on a separate line.
- #649: [core] Exclude specific files from command line
- #1272: [core] Could not find or load main class when using symlinked run.sh
- #1377: [core] LanguageRegistry uses default class loader when invoking ServiceLocator
- #1394: [doc] How to configure "-cache "
- #1412: [doc] Broken link to adding new cpd language documentation
- #1396: [apex] ClassCastException caused by Javadoc
- #1330: [java] PMD crashes with java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/xml/ws/Service
- #1202: [java] GuardLogStatement: "There is log block not surrounded by if" doesn't sound right
- #1209: [java] UnusedImports false positive for static import with package-private method usage
- #1343: [java] Update CommentDefaultAccessModifierRule to extend AbstractIgnoredAnnotationRule
- #1365: [java] JUnitTestsShouldIncludeAssert false positive
- #1404: [java] UnusedImports false positive with static ondemand import with method call
- #1369: [java] Processing error (ClassCastException) if a TYPE_USE annotation is used on a base class in the "extends" clause
- #1402: [jsp] JspTokenManager has a problem about jsp scriptlet
- #1349: [doc] Provide some explanation for WHY duplicate code is bad, like mutations
- PMD has a new CLI option
-ignorelist. With that, you can provide a file containing a comma-delimit list of files,
that should be excluded during analysis. The ignorelist is applied after the files have been selected
-filelist, which means, if the file is in both lists, then it will be ignored.
Note: there is no corresponding option for the Ant task, since the feature is already available via
Ant's FileSet include/exclude filters.
- #1338: [core] [cpd] Generalize ANTLR tokens preparing support for ANTLR token filter - Matías Fraga and Tomi De Lucca
- #1361: [doc] Update cpd.md with information about risks - David M. Karr
- #1366: [java] Static Modifier on Internal Interface pmd #1356 - avishvat
- #1368: [doc] Updated outdated note in the building documentation. - Maikel Steneker
- #1374: [java] Simplify check for 'Test' annotation in JUnitTestsShouldIncludeAssertRule. - Will Winder
- #1375: [java] Add missing null check AbstractJavaAnnotatableNode - Will Winder
- #1376: [all] Upgrading Apache Commons IO from 2.4 to 2.6 - Thunderforge
- #1378: [all] Upgrading Apache Commons Lang 3 from 3.7 to 3.8.1 - Thunderforge
- #1382: [all] Replacing deprecated IO methods with ones that specify a charset - Thunderforge
- #1383: [java] Improved message for GuardLogStatement rule - Felix Lampe
- #1386: [go] [cpd] Add CPD support for Antlr based grammar on Golang - Matías Fraga
- #1398: [all] Upgrading SLF4J from 1.7.12 to 1.7.25 - Thunderforge
- #1400: [java] Fix Issue 1343: Update CommentDefaultAccessModifierRule - CrazyUnderdog
- #1401: [all] Replacing IOUtils.closeQuietly(foo) with try-with-resources statements - Thunderforge
- #1406: [jsp] Fix issue 1402: JspTokenManager has a problem about jsp scriptlet - JustPRV
- #1411: [core] Add ignore file path functionality - Jon Moroney
- #1414: [doc] Fix broken link. Fixes #1412 - Johan Hammar