Add CONTRIBUTING.md, BUILDING.md. Update README.md
This commit is contained in:
28
BUILDING.md
Normal file
28
BUILDING.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# How to build PMD
|
||||||
|
|
||||||
|
PMD uses [Maven](https://maven.apache.org/).
|
||||||
|
|
||||||
|
Additionally you'll need to have a `~/.m2/toolchains.xml` file setup
|
||||||
|
with jdk 1.6 (for pmd 5.3.x), jdk 1.7 (for pmd 5.4.x and pmd 5.5.x) and jdk 1.8 (for some features in pmd 5.5.x).
|
||||||
|
See [maven toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html).
|
||||||
|
A example file can be found here: [example-toolchains.xml](https://github.com/pmd/pmd/blob/master/example-toolchains.xml).
|
||||||
|
|
||||||
|
Use maven in the top-level directory:
|
||||||
|
|
||||||
|
mvn clean verify
|
||||||
|
|
||||||
|
This will create the zip files in the directory `pmd-dist/target`:
|
||||||
|
|
||||||
|
cd pmd-dist/target
|
||||||
|
ls *.zip
|
||||||
|
|
||||||
|
That's all !
|
||||||
|
|
||||||
|
## How to build the documentation (maven site)?
|
||||||
|
|
||||||
|
Building the maven site is done with the following commands:
|
||||||
|
|
||||||
|
mvn clean install -DskipTests=true
|
||||||
|
mvn install site site:stage -Psite
|
||||||
|
|
||||||
|
You'll find the built site in the directory `target/staging/`.
|
55
CONTRIBUTING.md
Normal file
55
CONTRIBUTING.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# How to contribute to PMD
|
||||||
|
|
||||||
|
First off, thanks for taking the time to contribute!
|
||||||
|
|
||||||
|
|
||||||
|
## Pull requests
|
||||||
|
|
||||||
|
* Please create your pull request against the `master` branch. We will rebase/merge it to the maintenance
|
||||||
|
branches, if necessary.
|
||||||
|
|
||||||
|
* We are using [checkstyle](http://checkstyle.sourceforge.net/) to enforce a common code style.
|
||||||
|
The check is integrated into the default build - so, make sure, you can [build PMD](BUILDING.md) without errors.
|
||||||
|
See [code style](#code-style) for more info.
|
||||||
|
|
||||||
|
|
||||||
|
## Bug reports
|
||||||
|
|
||||||
|
We used to use Sourceforge for bug tracking, but we are in the process of moving to github issues.
|
||||||
|
|
||||||
|
* Old bugs are still available at <https://sourceforge.net/p/pmd/bugs/>.
|
||||||
|
* Please report new bugs at <https://github.com/pmd/pmd/issues>.
|
||||||
|
|
||||||
|
When filing a bug report, please provide as much information as possible, so that we can reproduce the issue:
|
||||||
|
|
||||||
|
* The name of the rule, that is buggy
|
||||||
|
* A code snippet, which triggers a false positive/negative or crash
|
||||||
|
* How do you execute PMD? (command line, ant, maven, gradle, other)
|
||||||
|
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
There is some documentation available under <https://pmd.github.io>. Feel free to create a bug report if
|
||||||
|
documentation is missing, incomplete or outdated.
|
||||||
|
|
||||||
|
The documentation is generated as a maven site, the source is available at: <https://github.com/pmd/pmd/tree/master/src/site>
|
||||||
|
|
||||||
|
## Questions
|
||||||
|
|
||||||
|
There are various channels, on which you can ask questions:
|
||||||
|
|
||||||
|
* The mailing list: [pmd-devel](https://lists.sourceforge.net/lists/listinfo/pmd-devel)
|
||||||
|
|
||||||
|
* The discussion forums on sourceforge: <https://sourceforge.net/p/pmd/discussion/>
|
||||||
|
|
||||||
|
* On [StackOverflow](https://stackoverflow.com/questions/tagged/pmd): Make sure, to tag your question with "pmd".
|
||||||
|
|
||||||
|
## Code Style
|
||||||
|
|
||||||
|
PMD uses [checkstyle](http://checkstyle.sourceforge.net/) to enforce a common code style.
|
||||||
|
|
||||||
|
See [pmd-checkstyle-config.xml](https://github.com/pmd/build-tools/blob/master/config/src/main/resources/net/sourceforge/pmd/pmd-checkstyle-config.xml) for the configuration and
|
||||||
|
[the eclipse configuration files](https://github.com/pmd/build-tools/tree/master/config/eclipse) that can
|
||||||
|
be imported into a fresh workspace.
|
||||||
|
|
||||||
|
|
63
README.md
63
README.md
@@ -4,62 +4,21 @@
|
|||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks,
|
**PMD** is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks,
|
||||||
unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex, XML, XSL.
|
unnecessary object creation, and so forth. It supports Java, JavaScript, Salesforce.com Apex, PLSQL, Apache Velocity,
|
||||||
Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in
|
XML, XSL.
|
||||||
Java, C, C++, C#, PHP, Ruby, Fortran, JavaScript, Salesforce.com Apex, Perl, Swift.
|
|
||||||
|
|
||||||
## Source
|
Additionally it includes **CPD**, the copy-paste-detector. CPD finds duplicated code in
|
||||||
|
Java, C, C++, C#, Groovy, PHP, Ruby, Fortran, JavaScript, PLSQL, Apache Velocity, Scala, Objective C,
|
||||||
|
Salesforce.com Apex, Perl, Swift, Matlab, Python.
|
||||||
|
|
||||||
Our latest source of PMD can be found on [GitHub]. Fork us!
|
## Source and Documentation
|
||||||
|
|
||||||
### How to build PMD?
|
Our latest source of PMD can be found on [GitHub](https://github.com/pmd/pmd). Fork us!
|
||||||
|
|
||||||
You'll need to have a `~/.m2/toolchains.xml` file setup with jdk 1.6 (for pmd 5.3.x), jdk 1.7 (for pmd 5.4.x and pmd 5.5.x)
|
* [How to build PMD](BUILDING.md)
|
||||||
and jdk 1.8 (for some features in pmd 5.5.x). See [maven toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html).
|
* [How to contribute to PMD](CONTRIBUTING.md)
|
||||||
A example file can be found here: [example-toolchains.xml](https://github.com/pmd/pmd/blob/master/example-toolchains.xml).
|
|
||||||
|
|
||||||
Use maven in the top-level directory:
|
|
||||||
|
|
||||||
mvn clean package
|
|
||||||
|
|
||||||
This will create the zip files in the directory `pmd-dist/target`:
|
|
||||||
|
|
||||||
cd pmd-dist/target
|
|
||||||
ls *.zip
|
|
||||||
|
|
||||||
That's all !
|
|
||||||
|
|
||||||
### How to build the documentation (maven site)?
|
|
||||||
|
|
||||||
Building the maven site is done with the following commands:
|
|
||||||
|
|
||||||
mvn clean install -DskipTests=true
|
|
||||||
mvn install site site:stage -Psite
|
|
||||||
|
|
||||||
You'll find the built site in the directory `target/staging/`.
|
|
||||||
|
|
||||||
### Bug Reports
|
|
||||||
|
|
||||||
We are using Sourceforge for bug tracking. Please file your bugs at <https://sourceforge.net/p/pmd/bugs/>.
|
|
||||||
|
|
||||||
### Pull Requests
|
|
||||||
|
|
||||||
Pull requests are always welcome: <https://github.com/pmd/pmd/pulls>
|
|
||||||
|
|
||||||
### Code Style
|
|
||||||
|
|
||||||
PMD uses checkstyle to enforce a common code style.
|
|
||||||
|
|
||||||
See [pmd-checkstyle-config.xml](https://github.com/pmd/build-tools/blob/master/config/src/main/resources/net/sourceforge/pmd/pmd-checkstyle-config.xml) for the configuration and
|
|
||||||
[the eclipse configuration files](https://github.com/pmd/build-tools/tree/master/config/eclipse) that can
|
|
||||||
be imported into a fresh workspace.
|
|
||||||
|
|
||||||
## News and Website
|
## News and Website
|
||||||
|
|
||||||
More information can be found on our [Website] and on [SourceForge].
|
More information can be found on our [Website](https://pmd.github.io) and on [SourceForge](https://sourceforge.net/projects/pmd/).
|
||||||
|
|
||||||
|
|
||||||
[GitHub]: https://github.com/pmd/pmd
|
|
||||||
[Website]: https://pmd.github.io
|
|
||||||
[SourceForge]: https://sourceforge.net/projects/pmd/
|
|
||||||
|
Reference in New Issue
Block a user