How to contribute to PMD
Table of ContentsFirst off, thanks for taking the time to contribute!
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. You can find the code of conduct in the file code_of_conduct.md.
Getting startedYou can find a lot of detailed information on this page and in the related pages:
Here weâll try to provide a concise overview.
Pull requestsPull requests are welcomed. If the task is a bit bigger (say it touches more than 5 files), it might make sense to create an issue first to discuss the intended change.
Please create your pull request against the main
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.
Your pull request will be built automatically. If the build was successful, our PMD Regression Tester, which runs PMD against a couple of test projects and creates a report with the found new violations (or removed violations). This helps to avoid accidentally introducing false positives or negatives.
We use the issue tracker on GitHub. 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:
See SECURITY.md
DocumentationThere is some documentation available under https://docs.pmd-code.org/latest. 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 in the subfolder docs
or at: https://github.com/pmd/pmd/tree/main/docs. You can find build instructions there. See also writing documentation for detailed information.
The rule designer is developed over at pmd/pmd-designer. Please refer to the specific contributor documentation if your issue, feature request or PR touches the designer.
QuestionsThere are various channels, on which you can ask questions:
On StackOverflow: Make sure, to tag your question with âpmdâ.
Create a new discussion for your question at https://github.com/pmd/pmd/discussions.
Ask your question in our Gitter room.
Ask your question our PMD Guru at Gurubase.
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.
Add yourself as contributorWe use All Contributors - all our contributors are listed on the page Credits.
To add yourself to the table of contributors, follow the bot usage instructions ;).
Or use the CLI:
npm i
(in PMDâs top level directory)npx all-contributors add <username> <contribution>
Where username
is your GitHub username and contribution
is a ,
-separated list of contributions. See Emoji Key for a list of valid types. Common types are: âcodeâ, âdocâ, âbugâ, âblogâ, âtalkâ, âtestâ, âtutorialâ.
See also cli documentation
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4