2.3 KiB
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 to enforce a common code style. The check is integrated into the default build - so, make sure, you can build PMD without errors. See 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/pmd. Feel free to create a bug report if documentation is missing, incomplete or outdated. See Bug reports.
The documentation is generated as a Jekyll site, the source is available at: https://github.com/pmd/pmd/tree/master/docs. You can find build instructions there. For more on contributing documentation check https://pmd.github.io/pmd/pmd_devdocs_writing_documentation.html
Questions
There are various channels, on which you can ask questions:
-
The mailing list: pmd-devel
-
The discussion forums on sourceforge: https://sourceforge.net/p/pmd/discussion/
-
On StackOverflow: Make sure, to tag your question with "pmd".
Code Style
PMD uses checkstyle to enforce a common code style.
See pmd-checkstyle-config.xml for the configuration and the eclipse configuration files that can be imported into a fresh workspace.