sbt cpd
v2.0.0
PMD 프로젝트의 CPD (Copy/Paste Detector)를 사용하여 중복 코드 감지를위한 SBT 플러그인입니다.
project/plugins.sbt 에 다음을 추가하여 플러그인을 설치하십시오.
addSbtPlugin( " com.github.sbt " % " sbt-cpd " % " <version> " ) 그런 다음 sbt cpd 로 플러그인을 실행하십시오. 이렇게하면 src/main/scala 에서 소스 코드를 스캔하고 target/scala-2.xx/cpd/cpd.xml 에 대한 복제물이 포함 된 보고서를 출력합니다.
(CPD 문서도 참조)
| 열쇠 | 유형 | 기본 | 설명 |
|---|---|---|---|
cpdReportType | CpdReportType | CpdReportType.XML | CPD 보고서의 출력 형식을 선택합니다. 유효한 유형 : XML , Simple , CSV & VS |
cpdLanguage | CpdLanguage | CpdLanguage.Scala | 분석 할 언어. 1 |
cpdMaxMemoryInMB | 정수 | 512 | CPD를 허용하기위한 최대 메모리 양 (MB). |
cpdMinimumTokens | 정수 | 100 | 잠재적 복제의 최소 토큰 수. |
cpdSourceEncoding | 끈 | utf-8 | 소스 파일 인코딩. |
cpdSourceDirectories | Seq (경로) | 메인 소스 경로 | 소스 파일의 경로를 분석합니다. |
cpdOutputType | CpdOutputType | CpdOutputType.File | CPD 보고서의 출력 유형을 선택합니다. 2 가지 유효한 유형 : File , Console |
cpdTargetPath | 파일 경로 | <cross-target>/cpd | CPD 보고서의 출력 경로. |
cpdReportName | 문자열 (filename) | cpd.xml | 생성 할 보고서 파일의 이름 ( cpdTargetPath 아래). |
cpdReportFileEncoding | 끈 | utf-8 | 보고서 파일 인코딩. |
cpdSkipDuplicateFiles | 부울 | false | 동일한 이름과 길이의 파일의 여러 사본을 무시합니다. |
cpdSkipLexicalErrors | 부울 | false | 유효하지 않은 문자로 인해 토큰화할 수없는 파일을 건너 뜁니다. |
cpdIgnoreLiterals | 부울 | false | 중복 블록을 평가할 때 문자 그대로의 값 차이를 무시하십시오. |
cpdIgnoreIdentifiers | 부울 | false | 중복 블록을 평가할 때 식별자 이름 차이를 무시하십시오. |
cpdIgnoreAnnotations | 부울 | false | 중복 블록을 평가할 때 언어 주석을 무시하십시오. |
cpdFailOnDuplicates | 부울 | false | 복제가 감지되면 빌드에 실패하십시오. |
ScalaJavaCCPPCSCSharpECMAScriptFortranGoJSPJavaScriptMatlabObjectiveCPHPPLSQRubySwiftCpdOutputType.Console 으로 설정하면 cpdTargetPath 및 cpdReportName 무시됩니다. 많은 감사합니다
그들의 멋진 기여를 위해!
이 프로그램과 함께 제공되는 자료는이 배포와 함께 제공되는 Eclipse Public License v1.0 의 조건에 따라 제공되며 http://www.eclipse.org/legal/epl-v10.html에서 제공됩니다.