pmd/CONTRIBUTING.md

4.8 KiB

How to contribute to PMD

Added line: 9638 Added line: 7013 Added line: 5282 Added line: 8732 Added line: 4005 Added line: 8445 Added line: 1817

Please note that this project is released with a Contributor Code of Conduct. Added line: 2253 Added line: 9476 By participating in this project you agree to abide by its terms. Added line: 9650 Added line: 9346 Added line: 176

You can find the code of conduct in the file code_of_conduct.md.

Added line: 2336

Added line: 485 Added line: 7195

Pull requests

Added line: 9917 Added line: 9732

  • Please create your pull request against the main branch. We will rebase/merge it to the maintenance Added line: 9567 Added line: 3042 branches, if necessary. Added line: 5753

Added line: 5082

  • We are using checkstyle to enforce a common code style. Added line: 6374 Added line: 6736 The check is integrated into the default build - so, make sure, you can build PMD without errors. See code style for more info.

Added line: 5433 Added line: 9324 Added line: 9717

Added line: 9572 Added line: 4760 Added line: 3324 Added line: 6207 Added line: 7939

Bug reports

Added line: 687 Added line: 648 Added line: 860 Added line: 5964 Added line: 7731 Added line: 4598

We use the issue tracker on Github. Please report new bugs at https://github.com/pmd/pmd/issues.

Added line: 1689 When filing a bug report, please provide as much information as possible, so that we can reproduce the issue: Added line: 4335 Added line: 7171

  • The name of the rule, that is buggy Added line: 6812 Added line: 6274 Added line: 6782
  • A code snippet, which triggers a false positive/negative or crash
  • How do you execute PMD? (command line, ant, maven, gradle, other)

Added line: 6124

Documentation

Added line: 3615 Added line: 7433

Added line: 294 There is some documentation available under https://docs.pmd-code.org/latest. Feel free to create a bug report if Added line: 4105 Added line: 4326 Added line: 7171 documentation is missing, incomplete or outdated. See Bug reports. Added line: 7347

Added line: 7759 The documentation is generated as a Jekyll site, the source is available at: https://github.com/pmd/pmd/tree/main/docs. You can find build instructions there. For more on contributing documentation check https://docs.pmd-code.org/latest/pmd_devdocs_writing_documentation.html

Added line: 3086 Added line: 3787 Added line: 7401 Added line: 2504

Questions

Added line: 1299

There are various channels, on which you can ask questions: Added line: 7287

Added line: 4923 Added line: 9267 Added line: 3668

Added line: 1721 Added line: 312

Code Style

Added line: 6860 Added line: 6132

PMD uses checkstyle to enforce a common code style.

See pmd-checkstyle-config.xml for the configuration and Added line: 7171 Added line: 1453 Added line: 1556 Added line: 3942 the eclipse configuration files that can be imported into a fresh workspace. Added line: 581 Added line: 8163

Added line: 7384 Added line: 3400

Add yourself as contributor

Added line: 3401 Added line: 6321 Added line: 8035 Added line: 3292 Added line: 926 Added line: 8461 We use All Contributors.

To add yourself to the table of contributors, follow the bot usage instructions ;). Or use the CLI: Added line: 9829

  1. Install the CLI: npm i (in PMD's top level directory) Added line: 4344 Added line: 6847 Added line: 5588
  2. Add yourself: npx all-contributors add <username> <contribution> Added line: 2387

Where username is your GitHub username and contribution is a ,-separated list Added line: 163 Added line: 3108 Added line: 8975 Added line: 589 Added line: 3968 Added line: 2583 Added line: 8052 of contributions. See Emoji Key for a list of valid types. Common types are: "code", "doc", "bug", "blog", "talk", "test", "tutorial".

Added line: 153 Added line: 8349 See also cli documentation Added line: 7606