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
BaseToolclass and to take
advantage of the new dependency management, to simplify code.As part of this, configuration has become standardized, allowing the
pmdtool path to be located on the fileystem (if in$PATH) or
configured in the worker'sexe_pathssetting. This has the additional
small benefit of caching thepmdbinary path, so it doesn't have to be
looked up in$PATHat execution time.The old
pmd_pathsetting 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 cachedpmdpath is being used.
Unit tests pass.
Tested dependency checking in the worker, with
pmdin the$PATH
and with an explicit path provided inexe_paths.Built the docs. Checked for build errors, spelling errors, and bad links.