Add PMD Apex analyzer

What does this MR do?

This MR adds an analyzer that does ~sast detection on Apex projects projects using the open source pmd tool.

pmd can handle scans for a number of languages, however we have more specialized tools for the primary languages, such as spotbugs to scan Java byte code, so I've scoped this scanner to "apex only" (pmd-apex). If we see a future need to support scans of the other pmd-supported languages (such as VisualForce or Java Server Pages then it could be beneficial to rename/expand this support to simply pmd in the future, wdyt?

TODO

  • Resolve outstanding absolute/relative pathing issue in file location
  • Update sast CI config to include pmd-apex
  • Update gitlab-ee docs to include pmd-apex

What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ee/issues/10680

Does this MR meet the acceptance criteria?

Edited by Lucas Charles

Merge request reports

Loading