Edit me

??-????-2018 - 6.9.0

The PMD team is pleased to announce PMD 6.9.0.

This is a minor release.

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.

Fixed Issues

  • all
    • #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
  • java
    • #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
  • java-bestpractices
    • #1202: [java] GuardLogStatement: “There is log block not surrounded by if” doesn’t sound right
    • #1365: [java] JUnitTestsShouldIncludeAssert false positive
  • java-codestyle
    • #1199: [java] UnnecessaryFullyQualifiedName doesn’t flag same package FQCNs
    • #1356: [java] UnnecessaryModifier wrong message public->static
  • java-design
    • #1369: [java] Processing error (ClassCastException) if a TYPE_USE annotation is used on a base class in the “extends” clause
  • jsp
    • #1402: [jsp] JspTokenManager has a problem about jsp scriptlet

API Changes

  • 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 via -dir or -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.

External Contributions