2016-09-07 16:10:48 -04:00
|
|
|
---
|
2018-05-20 09:27:36 +02:00
|
|
|
title: PMD Documentation website
|
2016-09-07 22:17:39 -04:00
|
|
|
keywords: java
|
2016-09-07 16:10:48 -04:00
|
|
|
permalink: index.html
|
2017-08-18 10:33:43 +02:00
|
|
|
toc: false
|
|
|
|
summary: >
|
|
|
|
Welcome to PMD, an extensible cross-language static code analyzer.
|
|
|
|
It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation,
|
|
|
|
and so forth. Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code.
|
|
|
|
last_updated: August 2017
|
2017-08-18 20:37:35 +02:00
|
|
|
author: Jeff Jensen <jjensen@apache.org>, Andreas Dangel <andreas.dangel@adangel.org>
|
2016-09-07 16:10:48 -04:00
|
|
|
---
|
|
|
|
|
|
|
|
|
2018-05-21 16:49:12 +02:00
|
|
|
<!-- ## Welcome to PMD! -->
|
2018-05-20 09:27:36 +02:00
|
|
|
|
2018-05-21 16:49:12 +02:00
|
|
|
<!-- First time user? Then you may be interested in our [quickstart series](TODO)! -->
|
2018-05-20 09:27:36 +02:00
|
|
|
|
2018-05-21 01:02:58 +02:00
|
|
|
<br/>
|
2018-05-20 09:27:36 +02:00
|
|
|
|
2018-05-21 08:30:37 +02:00
|
|
|
|
|
|
|
{% unless site.output == "pdf" %}
|
|
|
|
<script src="js/jquery.shuffle.min.js"></script>
|
|
|
|
<script src="js/jquery.ba-throttle-debounce.min.js"></script>
|
|
|
|
{% endunless %}
|
|
|
|
|
2018-05-21 16:49:12 +02:00
|
|
|
|
2018-05-23 02:44:30 +02:00
|
|
|
<div class="col-lg-12" id='grid-rule' />
|
2018-05-21 16:49:12 +02:00
|
|
|
|
|
|
|
|
2018-05-21 08:30:37 +02:00
|
|
|
<div class="filter-options">
|
|
|
|
<button class="btn btn-primary" data-group="all">All</button>
|
|
|
|
<button class="btn btn-primary" data-group="getting_started">Getting Started</button>
|
|
|
|
<button class="btn btn-primary" data-group="userdocs">User documentation</button>
|
|
|
|
<button class="btn btn-primary" data-group="extending">Extending PMD</button>
|
|
|
|
<button class="btn btn-primary" data-group="contributing">Contributing</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
2018-05-21 16:49:12 +02:00
|
|
|
|
|
|
|
|
2018-05-21 01:02:58 +02:00
|
|
|
<div id="grid" class="row">
|
2018-05-20 09:27:36 +02:00
|
|
|
|
2018-05-21 01:02:58 +02:00
|
|
|
{% include custom/shuffle_panel.html
|
2018-05-21 08:30:37 +02:00
|
|
|
tags="getting_started"
|
|
|
|
datagroups='["getting_started"]'
|
|
|
|
description="These pages summarize the gist of PMD usage to get you started quickly."
|
2018-05-21 06:29:30 +02:00
|
|
|
title="Getting started" %}
|
2018-05-20 09:27:36 +02:00
|
|
|
|
2018-05-20 21:38:54 +02:00
|
|
|
|
2018-05-21 01:02:58 +02:00
|
|
|
{% include custom/shuffle_panel.html
|
2018-05-21 08:30:37 +02:00
|
|
|
tags="rule_references"
|
|
|
|
datagroups='["userdocs"]'
|
2018-05-21 01:02:58 +02:00
|
|
|
title="Rule references"
|
2018-05-21 08:30:37 +02:00
|
|
|
description="Pick your language to find out about the rule it supports."
|
2018-05-21 01:02:58 +02:00
|
|
|
image="fa-database"
|
|
|
|
titlemaker="page.language_name" %}
|
2018-05-20 21:38:54 +02:00
|
|
|
|
2018-05-21 08:30:37 +02:00
|
|
|
{% include custom/shuffle_panel.html
|
|
|
|
tags="userdocs,extending"
|
2018-05-21 11:52:05 +02:00
|
|
|
datagroups='["userdocs", "extending", "contributing"]'
|
2018-05-21 08:30:37 +02:00
|
|
|
title="Writing rules"
|
|
|
|
description="These pages document the process of writing and testing custom rules and metrics for PMD."
|
|
|
|
%}
|
2018-05-20 21:38:54 +02:00
|
|
|
|
2018-05-21 11:52:05 +02:00
|
|
|
{% include custom/shuffle_panel.html
|
|
|
|
tags="userdocs"
|
|
|
|
except_tags="extending,tools"
|
|
|
|
datagroups='["userdocs"]'
|
|
|
|
image="fa-cog"
|
|
|
|
title="Usage and configuration"
|
|
|
|
description="Learn how to build effective and versatile rulesets."
|
|
|
|
%}
|
|
|
|
|
|
|
|
|
|
|
|
{% include custom/shuffle_panel.html
|
|
|
|
tags="devdocs"
|
|
|
|
except_tags="extending"
|
|
|
|
datagroups='["contributing"]'
|
|
|
|
image="fa-github"
|
|
|
|
title="Contributing"
|
|
|
|
description="If you'd like to help us build PMD, these topics may interest you. See you around!"
|
|
|
|
%}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{% include custom/shuffle_panel.html
|
|
|
|
tags="tools"
|
|
|
|
datagroups='["userdocs"]'
|
|
|
|
title="Tools and integrations"
|
|
|
|
description="These pages describe solutions that integrate PMD within your build process."
|
|
|
|
%}
|
|
|
|
|
|
|
|
{% include custom/shuffle_panel.html
|
|
|
|
tags="devdocs,extending"
|
|
|
|
datagroups='["contributing","extending"]'
|
|
|
|
title="Major contributions"
|
|
|
|
description=""
|
|
|
|
%}
|
|
|
|
|
|
|
|
|
2018-05-22 17:12:28 +02:00
|
|
|
<!-- sizer -->
|
|
|
|
<div class="col-xs-6 col-sm-4 col-md-1 shuffle_sizer"></div>
|
|
|
|
|
2018-05-21 08:30:37 +02:00
|
|
|
</div>
|
2018-05-20 09:27:36 +02:00
|
|
|
|
|
|
|
<!-- {% include image.html file="pmd-logo-big.png" alt="PMD Logo" %} -->
|
2016-09-07 16:10:48 -04:00
|
|
|
|
2018-05-21 08:30:37 +02:00
|
|
|
{% unless site.output == "pdf" %}
|
|
|
|
|
2018-05-22 17:09:26 +02:00
|
|
|
{% include initialize_shuffle.html %}
|
2018-05-21 08:30:37 +02:00
|
|
|
|
|
|
|
{% endunless %}
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-07 16:10:48 -04:00
|
|
|
{% include links.html %}
|