sbt cpd
v2.0.0
Это плагин SBT для обнаружения дублирования кода с использованием детектора копирования/вставки (CPD) из проекта PMD.
Установите плагин, добавив следующее в 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 | Строка (имя файла) | cpd.xml | Имя файла отчета для генерации (под cpdTargetPath ). |
cpdReportFileEncoding | Нить | utf-8 | Сообщите о кодировании файла. |
cpdSkipDuplicateFiles | Логический | false | Не обращайте внимания на несколько копий файлов одного имени и длины по сравнению. |
cpdSkipLexicalErrors | Логический | false | Пропустить файлы, которые не могут быть токенизированы из -за недействительных символов, а не прерывания. |
cpdIgnoreLiterals | Логический | false | Игнорировать буквальные различия в значении при оценке дубликата блока. |
cpdIgnoreIdentifiers | Логический | false | Игнорировать различия имен идентификатора при оценке дубликата блока. |
cpdIgnoreAnnotations | Логический | false | Игнорировать языковые аннотации при оценке дубликата блока. |
cpdFailOnDuplicates | Логический | false | Сбой строительства, если дубликаты обнаружены. |
ScalaJavaCCPPCSCSharpECMAScriptFortranGoJSPJavaScriptMatlabObjectiveCPHPPLSQRubySwiftCpdOutputType.Console , то cpdTargetPath и cpdReportName игнорируются. Большое спасибо
за их потрясающий вклад!
Эта программа и сопровождающие материалы предоставляются в соответствии с условиями публичной лицензии Eclipse V1.0, которая сопровождает это распределение и доступна по адресу http://www.eclipse.org/legal/epl-v10.html