2016-07-08 22 views
0

我正在使用CPD工具在我的項目中查找重複代碼。我試過了這個鏈接CPD Usage中給出的命令行選項。 我想以xml格式生成報告,並需要將其存儲在特定位置。但它在控制檯本身顯示報告,並不存儲在任何地方。 Refer this screenshot.如何使用CPD生成XML報告(複製粘貼檢測器)?

我在CPD GUI中試過這樣並正常工作。但爲了我的需要,我想在xml文件中生成報告。這可能嗎?

在上面的鏈接中,他們已經給出了ANT工具的信息。那麼有什麼辦法可以在MSBuild工具中做到這一點?

回答

2

可以使用輸出流的重定向來創建XML文件。 CPD將報告輸出到stdout。如果你在命令行中執行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與正確的目錄。