Skip to content
@rsoese (Twitter handle) edited this page Jun 1, 2016 · 31 revisions

How To Contribute

There is a lot of room for improvement or extension. Depending on what you want to do you eighter need to fork, extend and pull request this repository or the PMD repository.

If you want to add rules that work similarly to the ones we already have you will have to extend PMD itself.

Contributions made to PMD will not be automatically used by the Code Climate engine. You have to replace the current build of PMD in the engine with new one.

TODO: Explain that we rely on a Force.com IDE component, point to our extensive discussions, mention that it is a closed source jar but might become real open source. Mention that it is still SNAPSHOT and therefore can't be pulled in a Maven dependency yet. Explain that people might want to check the status of the parser every Salesforce.com release to see if there are new node types or other stuff. Point them to the explanaition of Nick Check on how to discover the internals of the jar in Eclipse. Show where to replace what in pmd to use a newer jar.

Beside extending the underlying PMD framework people could also add totally new mechanisms to evaluate code. Code would then not only run through PMD but also through other internal components. Just imagine using the Tooling Api and then reporting back on usused code across class boundaries as implemented by Salesforce.com MVP Andrew Fawcett.

Clone this wiki locally