<!--
    <author email="jjensen@apache.org">Jeff Jensen</author>
-->

Welcome to PMD
==============

PMD scans source code in Java and other languages and looks for potential problems like:

*   Possible bugs - empty try/catch/finally/switch statements
*   Dead code - unused local variables, parameters and private methods
*   Suboptimal code - wasteful String/StringBuffer usage
*   Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
*   Duplicate code - copied/pasted code means copied/pasted bugs

Download
--------

You can **[download everything from here][1]**, and you can get an overview of all the rules for
e.g. Java at the [rulesets index][2] page.

PMD is [integrated][3] with JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide,
NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs.

Changelog
---------

*   See [What's new in PMD ${project.version}][4]
*   Older versions: [Old Changelogs][5]

Future releases
---------------

The next version of PMD will be developed in parallel with this release. We will release additional bugfix
versions as needed.

A [snapshot][6] of the web site for the new version is generated daily by our continuous integration server.

Maven packages are also generated regularly and uploaded to [Sonatypes OSS snapshot repository][7].


[1]: https://sourceforge.net/projects/pmd/files/${project.version}/
[2]: pmd-java/rules/index.html
[3]: usage/integrations.html
[4]: overview/changelog.html
[5]: overview/changelog-old.html
[6]: http://pmd.sourceforge.net/snapshot
[7]: https://oss.sonatype.org/content/repositories/snapshots/net/sourceforge/pmd/pmd/
