tree 16bebc68382ade7bd13a25890b4511496423c329
parent 597d4cb712cf63a17daf67e6f0c0516fe1643e69
author Andreas Dangel <adangel@apache.org> 1602846413 +0200
committer Andreas Dangel <adangel@apache.org> 1602846437 +0200

[MPMD-304] - maven-pmd-plugin should be toolchains-aware

Separates the execution of PMD and CPD from PmdReport/CpdReport
into separate classes PmdExecutor/CpdExecutor
under package o.a.m.p.pmd.exec.

All the necessary plugin properties/parameters are handed over as
PmdRequest/CpdRequest.

If a toolchain is in use, then PmdExecutor/CpdExecutor is called
in a forked JVM. PmdRequest/CpdRequest is serialized/deserialized.

Without a toolchain, PmdExecutor/CpdExecutor is directly called.

The result is provided for reporting via PmdResult/CpdResult. These
classes are just wrappers around the files `target/pmd.xml` and
`target/cpd.xml` which are always created. Basically, PMD serializes
the results into these XML files and m-pmd-p picks it up from there
(like the check goal).

The public method `PmdReport.getPMDConfiguration()` is gone, since
PMDConfiguration is created now by PmdExecutor and is not exposed
anymore. There is no direct replacement for this method.

PmdReportGenerator and CpdReportGenerator now work with the classes
generated by modello (in other words, they work now with the XML
format of PMD) instead of using PMD classes directly. This further
decouples the plugin from PMD.

Closes #31
