Update the PMD code, docs, configuration, and tests for the latest changes.
Review Request #11530 — Created March 16, 2021 and submitted — Latest diff uploaded
PMD has been updated to use the renamed
BaseTool
class and to take
advantage of the new dependency management, to simplify code.As part of this, configuration has become standardized, allowing the
pmd
tool path to be located on the fileystem (if in$PATH
) or
configured in the worker'sexe_paths
setting. This has the additional
small benefit of caching thepmd
binary path, so it doesn't have to be
looked up in$PATH
at execution time.The old
pmd_path
setting has been deprecated. It will be transitioned
over when loading the configuration. Documentation has been updated to
discuss this.The list of file extensions are now more forgiving. Extra commas, spaces,
and leading.
for file extensions are handled correctly.The documentation has been fleshed out to go over the fields present
during tool configuration.Unit tests have been added for
handle_file()
, to give us a base for
future work and to ensure that the cachedpmd
path is being used.
Unit tests pass.
Tested dependency checking in the worker, with
pmd
in the$PATH
and with an explicit path provided inexe_paths
.Built the docs. Checked for build errors, spelling errors, and bad links.