[doc] Rework introduction page
This commit is contained in:
@ -2,6 +2,7 @@ repository: pmd/pmd
|
||||
|
||||
pmd:
|
||||
version: 6.0.0
|
||||
date: to-be-defined
|
||||
|
||||
output: web
|
||||
# this property is useful for conditional filtering of content that is separate from the PDF.
|
||||
|
@ -120,6 +120,9 @@ entries:
|
||||
- title: Developer Documentation
|
||||
output: web, pdf
|
||||
folderitems:
|
||||
- title: Developer Resources
|
||||
url: /pmd_devdocs_development.html
|
||||
output: web, pdf
|
||||
- title: Code Style
|
||||
url: /pmd_devdocs_codestyle.html
|
||||
output: web, pdf
|
||||
|
@ -6,7 +6,11 @@
|
||||
{% for folder in entry.folders %}
|
||||
{% if folder.output contains "web" %}
|
||||
<li>
|
||||
{% if folder.url %}
|
||||
<a href="{{ folder.url | remove: "/" }}">{{ folder.title }}</a>
|
||||
{% else %}
|
||||
<a href="#">{{ folder.title }}</a>
|
||||
{% endif %}
|
||||
<ul>
|
||||
{% for folderitem in folder.folderitems %}
|
||||
{% if folderitem.output contains "web" %}
|
||||
|
@ -2,38 +2,94 @@
|
||||
title: PMD Introduction
|
||||
keywords: java
|
||||
tags: [getting_started]
|
||||
sidebar: pmd_sidebar
|
||||
permalink: index.html
|
||||
summary: Welcome to PMD, an extensible cross-language static code analyzer.
|
||||
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
|
||||
---
|
||||
|
||||
{% include image.html file="pmd-logo-big.png" alt="PMD Logo" %}
|
||||
|
||||
# Welcome to PMD
|
||||
|
||||
PMD scans source code in Java and other languages and looks for potential problems like:
|
||||
**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
|
||||
**CPD**, the copy-pase-detector, finds duplicated code in many languages:
|
||||
|
||||
You can [download everything from here](https://github.com/pmd/pmd/releases).
|
||||
* Duplicate code is often just copied and pasted. This means, the bugs are also copied and pasted. Fixing
|
||||
them means, fix all duplicated code locations.
|
||||
|
||||
You can get an overview of all the rules for e.g. Java at the [rulesets index](pmd_rules_java.html) page.
|
||||
## Features
|
||||
|
||||
PMD is [integrated](pmd_userdocs_tools.html) with JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs.
|
||||
{::options parse_block_html="true" /}
|
||||
|
||||
<div class="row"><div class="col-lg-6">
|
||||
### PMD
|
||||
|
||||
Features:
|
||||
|
||||
* Supporting 8 languages
|
||||
* Many ready-to-use built-in rules.
|
||||
* Custom rules can be written in Java
|
||||
* Custom rules can be written using XPath expression that query the AST of the sources
|
||||
* Many output formats
|
||||
* Many integrations into IDEs, build tools
|
||||
|
||||
Supported Languages:
|
||||
|
||||
* [Java](pmd_rules_java.html)
|
||||
* [JavaScript](pmd_rules_ecmascript.html)
|
||||
* [Salesforce.com Apex](pmd_rules_apex.html) and [Visualforce](pmd_rules_vf.html)
|
||||
* [PLSQL](pmd_rules_plsql.html)
|
||||
* [Apache Velocity](pmd_rules_vm.html)
|
||||
* [XML](pmd_rules_xml.html) and [Maven POM](pmd_rules_pom.html)
|
||||
* [XSL](pmd_rules_xsl.html)
|
||||
|
||||
</div><div class="col-lg-6">
|
||||
### CPD
|
||||
|
||||
Features:
|
||||
|
||||
* Supporting 19 languages
|
||||
* Simple GUI
|
||||
* Fast
|
||||
* Many integrations
|
||||
|
||||
Supported Languages:
|
||||
|
||||
* Java
|
||||
* C, C++
|
||||
* C#
|
||||
* Groovy
|
||||
* PHP
|
||||
* Ruby
|
||||
* Fortran
|
||||
* JavaScript
|
||||
* PLSQL
|
||||
* Apache Velocity
|
||||
* Scala
|
||||
* Objective C
|
||||
* Matlab
|
||||
* Python
|
||||
* Go
|
||||
* Swift
|
||||
* Salesforce.com Apex and Visualforce
|
||||
|
||||
</div></div>
|
||||
|
||||
## Download PMD {{ site.pmd.version }}
|
||||
|
||||
Latest Version: {{ site.pmd.version }} ({{ site.pmd.date }})
|
||||
|
||||
* [Release Notes](pmd_release_notes.html)
|
||||
* [Download](https://github.com/pmd/pmd/releases)
|
||||
|
||||
|
||||
## 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](http://pmd.sourceforge.net/snapshot) 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](https://oss.sonatype.org/content/repositories/snapshots/net/sourceforge/pmd/pmd/).
|
||||
|
||||
{% include links.html %}
|
||||
|
11
docs/pages/pmd/devdocs/development.md
Normal file
11
docs/pages/pmd/devdocs/development.md
Normal file
@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Developer Resources
|
||||
permalink: pmd_devdocs_development.html
|
||||
---
|
||||
The next version of PMD will be developed in parallel with this release. We will release additional bugfix versions as needed.
|
||||
|
||||
|
||||
|
||||
A [snapshot](http://pmd.sourceforge.net/snapshot) 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](https://oss.sonatype.org/content/repositories/snapshots/net/sourceforge/pmd/pmd/).
|
Reference in New Issue
Block a user