2015-11-14 17:53:52 +01:00
# PMD
2012-11-17 17:00:27 +01:00
2020-09-17 11:02:02 +02:00
![PMD Logo ](https://raw.githubusercontent.com/pmd/pmd/pmd/7.0.x/docs/images/logo/pmd-logo-300px.png )
2018-01-11 07:48:19 +00:00
[![Join the chat at https://gitter.im/pmd/pmd ](https://badges.gitter.im/pmd/pmd.svg )](https://gitter.im/pmd/pmd?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2020-12-11 16:12:00 +01:00
[![Build Status ](https://github.com/pmd/pmd/workflows/Pushes/badge.svg?branch=master )](https://github.com/pmd/pmd/actions)
2017-02-03 16:27:38 -03:00
[![Maven Central ](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.pmd/pmd/badge.svg )](https://maven-badges.herokuapp.com/maven-central/net.sourceforge.pmd/pmd)
2020-09-17 12:04:14 -04:00
[![Reproducible Builds ](https://img.shields.io/badge/Reproducible_Builds-ok-green?labelColor=blue )](https://github.com/jvm-repo-rebuild/reproducible-central#net.sourceforge.pmd:pmd)
2017-07-08 20:42:58 +02:00
[![Coverage Status ](https://coveralls.io/repos/github/pmd/pmd/badge.svg )](https://coveralls.io/github/pmd/pmd)
2018-11-12 12:56:14 +01:00
[![Codacy Badge ](https://api.codacy.com/project/badge/Grade/a674ee8642ed44c6ba7633626ee95967 )](https://www.codacy.com/app/pmd/pmd?utm_source=github.com& utm_medium=referral& utm_content=pmd/pmd& utm_campaign=Badge_Grade)
2020-04-17 16:13:34 +02:00
[![Contributor Covenant ](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg )](code_of_conduct.md)
2015-11-14 17:53:52 +01:00
## About
2017-01-05 11:27:08 +01:00
**PMD** is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks,
2019-09-07 16:19:24 +02:00
unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex and Visualforce,
2019-09-28 16:21:58 +03:00
Modelica, PLSQL, Apache Velocity, XML, XSL, Scala.
2012-11-17 17:00:27 +01:00
2017-01-05 11:27:08 +01:00
Additionally it includes **CPD** , the copy-paste-detector. CPD finds duplicated code in
2019-09-28 16:21:58 +03:00
C/C++, C#, Dart, Fortran, Go, Groovy, Java, JavaScript, JSP, Kotlin, Lua, Matlab, Modelica,
2020-05-08 10:55:55 +02:00
Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex, Scala, Swift, Visualforce and XML.
2015-11-14 17:53:52 +01:00
2020-02-15 19:07:20 +01:00
## Support
* How do I? -- Ask a question on [StackOverflow ](https://stackoverflow.com/questions/tagged/pmd ).
* I got this error, why? -- Ask a question on [StackOverflow ](https://stackoverflow.com/questions/tagged/pmd ).
* I got this error and I'm sure it's a bug -- file an [issue ](https://github.com/pmd/pmd/issues ).
* I have an idea/request/question -- file an [issue ](https://github.com/pmd/pmd/issues ).
* I have a quick question -- ask on our [Gitter chat ](https://gitter.im/pmd/pmd ).
* Where's your documentation? -- < https: // pmd . github . io / latest />
## Source
2013-05-01 14:56:22 +02:00
2017-01-05 11:27:08 +01:00
Our latest source of PMD can be found on [GitHub ](https://github.com/pmd/pmd ). Fork us!
2015-11-14 17:53:52 +01:00
2017-01-05 11:27:08 +01:00
* [How to build PMD ](BUILDING.md )
* [How to contribute to PMD ](CONTRIBUTING.md )
2015-11-14 17:53:52 +01:00
2019-03-03 11:54:41 +01:00
The rule designer is developed over at [pmd/pmd-designer ](https://github.com/pmd/pmd-designer ).
Please see [its README ](https://github.com/pmd/pmd-designer#contributing ) for
developer documentation.
2020-02-15 19:07:20 +01:00
## Website
2015-11-14 17:53:52 +01:00
2020-02-15 19:07:20 +01:00
More information can be found on our [Website ](https://pmd.github.io ).