Table of Contents

The following pages and posts are tagged with

TitleTypeExcerpt
Adding PMD support for a new ANTLR grammar based language Page How to add a new language to PMD using ANTLR grammar.
Adding PMD support for a new JavaCC grammar based language Page How to add a new language to PMD using JavaCC grammar.
How to add a new CPD language Page How to add a new language module with CPD support.
Building PMD from source Page Note: TODO add IDE specific indications Compiling PMD JDK 11 or higher Note: While Java 11 is required for building, running PMD only requires Java 7 (or Java 8 for Apex,...
Developer Resources Page Source Code The complete source code can be found on Github: github.com/pmd/pmd - main PMD repository. Includes all the code to support all languages, including this documentation. github.com/pmd/pmd.github.io - Contains the landing page https://pmd.github.io github.com/pmd/build-tools - Contains the checkstyle rules we use github.com/pmd/pmd-eclipse-plugin...
How PMD Works Page Processing overview of the different steps taken by PMD.
Logging Page Logging API is slf4j PMD uses slf4j as the logging API internally. Logging can be done also in (Java-based) rules. In order to log, get a logger. Usually the logger is stored in a static final field called LOG: private...
Pmdtester Page Introduction Pmdtester is a regression testing tool that ensures no new problems and unexpected behaviors will be introduced to PMD after fixing an issue. It can also be used to verify, that new rules work as expected. It has been integrated into travis CI and is actually used automatically...
Roadmap Page TODO: Update Future direction projects, plans Google Summer of Code Future directions Want to know what’s coming? Or, better, wanna contribute ? Here is the page listing what are our plans - when we have ones, for the future of PMD. It also give you hints at...
Rule deprecation policy Page Describes when and how rules are deprecated
Guidelines for standard rules Page Guidelines for rules that are included in the standard distribution
Writing documentation Page PMD's documentation uses [Jekyll](https://jekyllrb.com/) with the [I'd rather be writing Jekyll Theme](http://idratherbewriting.com/documentation-theme-jekyll/index.html). Here are some quick tips. ## Format The pages are in general in [Github Flavored Markdown](https://kramdown.gettalong.org/parser/gfm.html). ## Structure The documentation sources can be found in two places based on how they are generated: - the ones that are...