2016-07-08 15 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を定義する必要があります。

関連する問題