【问题标题】:How to generate xml report using CPD (Copy Paste Detector)?如何使用 CPD(复制粘贴检测器)生成 xml 报告?
【发布时间】:2016-07-08 06:08:23
【问题描述】:

我正在使用 CPD 工具在我的项目中查找重复代码。我已经尝试了此链接CPD Usage 中给出的命令行选项。 我想以 xml 格式生成报告,并且需要将其存储在特定位置。但它在控制台本身中显示报告,而不是将其存储在任何地方。 Refer this screenshot.

我在 CPD GUI 中尝试过这个并且工作正常。但出于我的需要,我想在 xml 文件中生成报告。这可能吗?

在上面的链接中,他们已经给出了 ANT 工具的信息。那么在 MSBuild 工具中有没有办法做到这一点?

【问题讨论】:

    标签: jenkins msbuild pmd static-code-analysis cpd


    【解决方案1】:

    可以使用输出流的重定向来创建 XML 文件。 CPD 将报告输出到标准输出。如果在命令行中执行 CPD,请使用 redirection operators:

    %PMD_PATH%\bin\cpd.bat --language cs --format xml --minimum-tokens 100 --files %SOURCE_DIR% > cpd-report.xml
    

    在 MSBuild 工具中,您可以使用 Exec Task。由于它只是在内部调用 cmd,因此以下应该可以工作(我没有尝试过...):

    <PropertyGroup>
        <PmdPath>C:\pmd-bin-5.5.0</PmdPath>
        <SourceDir>C:\source</SourceDir>
    </PropertyGroup>
    <Target Name="CPD">
        <Exec Command="$(PmdPath)\bin\cpd.bat --language cs --format xml --minimum-tokens 100 --files $(SourceDir) > cpd-report.xml"/>
    </Target>
    

    您需要使用正确的目录定义属性PmdPathSourceDir

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2015-11-05
      相关资源
      最近更新 更多