Update the PMD code, docs, configuration, and tests for the latest changes.

Review Request #11530 — Created March 16, 2021 and submitted — Latest diff uploaded

Information

ReviewBot
release-3.0.x

Reviewers

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's exe_paths setting. This has the additional
small benefit of caching the pmd 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 cached pmd path is being used.

Unit tests pass.

Tested dependency checking in the worker, with pmd in the $PATH
and with an explicit path provided in exe_paths.

Built the docs. Checked for build errors, spelling errors, and bad links.

Diff Revision 3

This is not the most recent revision of the diff. The latest diff is revision 4. See what's changed.

orig
1
2
3
4

Commits

First Last Summary ID Author
Update the PMD code, docs, configuration, and tests for the latest changes.
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's `exe_paths` setting. This has the additional small benefit of caching the `pmd` binary path, so it doesn't have to be looked up in `$PATH` at execution time. 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 cached `pmd` path is being used.
995e0bebb540edd92329bcb69ff466738cf0150d Christian Hammond
bot/reviewbot/config.py
bot/reviewbot/tests/test_config.py
bot/reviewbot/tools/pmd.py
bot/reviewbot/tools/tests/test_pmd.py
docs/reviewbot/upgrading.rst
docs/reviewbot/tools/pmd.rst
Loading...