28 January 2023
The PMD team is pleased to announce PMD 6.54.0.
This is a minor release.
Thanks to @mohan-chinnappan-n a new PMD report format has been added which features a data table with charting functions. It uses an XSLT stylesheet to convert PMD’s XML format into HTML.
See the example report.
--relativize-paths-withflag (or short
-z), which replaces
--short-names. It serves the same purpose: Shortening the pathnames in the reports. However, with the new flag it’s possible to explicitly define one or more pathnames that should be used as the base when creating relative paths. The old flag
ApexRootNode#getApexVersionhas been deprecated for removal. The version returned is always
Version.CURRENT, as the apex compiler integration doesn’t use additional information which Apex version actually is used. Therefore, this method can’t be used to determine the Apex version of the project that is being analyzed.
CPDConfiguration#getEncoding. Use the methods
setSourceEncodinginstead. Both are available for
BaseCPDCLITesthave been deprecated for removal without replacement. CLI tests should be done in pmd-core only (and in PMD7 in pmd-cli). Individual language modules shouldn’t need to test the CLI integration logic again. Instead, the individual language modules should test their functionality as unit tests.
FileCollector#addZipFile has been deprecated. It is replaced
FileCollector#addZipFileWithContent which directly adds the
content of the zip file for analysis.
PMDConfiguration#isReportShortNameshave been deprecated for removal. Use
filterMatchescreates a new CPD report with some matches removed with a given predicate based filter.