2016-07-08 7 views
0

CPD 도구를 사용하여 프로젝트에서 중복 코드를 찾습니다. 나는이 링크 CPD Usage에 주어진대로 커맨드 라인 옵션을 시도했다. xml 형식의 보고서를 생성하고 특정 위치에 저장해야합니다. 하지만 콘솔 자체에서 보고서를 보여 주며 어디에도 저장하지 않습니다. Refer this screenshot.CPD (복사 붙여 넣기 감지기)를 사용하여 xml 보고서를 생성하는 방법은 무엇입니까?

나는 이것을 CPD GUI에서 시도하고 올바르게 작동했다. 하지만 내 필요에 대한 XML 파일에서 보고서를 생성 할 싶습니다. 이것이 가능한가?

위의 링크에서 그들은 ANT 도구에 대한 정보를 제공했습니다. 그래서 MSBuild 도구에서 이것을 할 수있는 방법이 있습니까?

답변

2

출력 스트림에 리디렉션을 사용하여 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을 정의해야합니다.