PMD Source Code Analyzer Project
Nav
Download
Fork us on github
PMD 7.8.0
Release date: 29-November-2024
About
Home
Release notes
Release notes (PMD 7)
Getting help
Release policies
Support lifecycle
User Documentation
Migration Guide for PMD 7
Installation and basic CLI usage
Making rulesets
Configuring rules
Best practices
Suppressing warnings
Incremental analysis
PMD CLI reference
PMD Report formats
3rd party rulesets
CPD reference
Copy-paste detection
CPD Report formats
Extending PMD
Introduction to writing rules
Your first rule
XPath rules
Java rules
Rule designer reference
Defining rule properties
Rule guidelines
Testing your rules
Creating (XML) dump of the AST
Tools / Integrations
Maven PMD Plugin
Gradle
Ant
PMD Java API
bld PMD Extension
CI integrations
Other Tools / Integrations
Rule Reference
Apex Rules
Index
Best Practices
Code Style
Design
Documentation
Error Prone
Performance
Security
HTML Rules
Index
Best Practices
Java Rules
Index
Best Practices
Code Style
Design
Documentation
Error Prone
Multithreading
Performance
Security
Java Server Pages Rules
Index
Best Practices
Code Style
Design
Error Prone
Security
JavaScript Rules
Index
Best Practices
Code Style
Error Prone
Performance
Kotlin Rules
Index
Best Practices
Error Prone
Maven POM Rules
Index
Error Prone
Modelica Rules
Index
Best Practices
PLSQL Rules
Index
Best Practices
Code Style
Design
Error Prone
Salesforce Visualforce Rules
Index
Security
Scala Rules
Index
Swift Rules
Index
Best Practices
Error Prone
Velocity Template Language (VTL) Rules
Index
Best Practices
Design
Error Prone
WSDL Rules
Index
XML Rules
Index
Best Practices
Error Prone
XSL Rules
Index
Code Style
Performance
Language-Specific Documentation
Overview
Language configuration
Apex
C/C++
C#
Coco
Dart
Fortran
Gherkin
Go
HTML
Java
JavaScript / TypeScript
JSP
Julia
Kotlin
Lua
Matlab
Modelica
Objective-C
Perl
PHP
PLSQL
Python
Ruby
Scala
Swift
T-SQL
Visualforce
Velocity Template Language (VTL)
XML and XML dialects
Developer Documentation
Developer resources
Building PMD from source
Contributing
Writing documentation
Roadmap
How PMD works
Pmdtester
Rule Deprecation Policy
Major contributions
Rule Guidelines
Adding a new language (JavaCC)
Adding a new language (ANTLR)
Adding a new CPD language
Experimental features
List of experimental Features
Project documentation
Trivia about PMD
PMD in the press
Products & books related to PMD
Similar projects
What does 'PMD' mean?
Logo
FAQ
License
Credits
Old release notes
Decisions
Project management
Infrastructure
Release process
Merging pull requests
Main Landing page
ยป Architecture Decisions
Edit on GitHub
Architecture Decisions
Table of Contents
ADR 1 - Use architecture decision records
(Accepted)
ADR 2 - Policy on the use of Kotlin for development
(Accepted)
ADR 3 - API evolution principles
(Accepted)