sbt cpd
v2.0.0
Este é um plug -in SBT para detecção de código duplicado usando o detector de copiar/colar (CPD) do projeto PMD.
Instale o plug -in adicionando o seguinte ao project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-cpd " % " <version> " ) E depois execute o plug -in com sbt cpd . Isso digitalizará seu código-fonte em src/main/scala e produzirá um relatório que contém as duplicatas para target/scala-2.xx/cpd/cpd.xml .
(Veja também a documentação do CPD)
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
cpdReportType | CpdReportType | CpdReportType.XML | Seleciona o formato de saída para o relatório do CPD. Tipos válidos: XML , Simple , CSV & VS |
cpdLanguage | CpdLanguage | CpdLanguage.Scala | Idioma para analisar. 1 |
cpdMaxMemoryInMB | Inteiro | 512 | Quantidade máxima de memória para permitir o CPD (em MB). |
cpdMinimumTokens | Inteiro | 100 | Número mínimo de tokens de duplicatas em potencial. |
cpdSourceEncoding | Corda | utf-8 | Codificação do arquivo de origem. |
cpdSourceDirectories | Seq (caminhos) | Caminhos de origem principal (s) | Caminhos dos arquivos de origem a serem analisados. |
cpdOutputType | CpdOutputType | CpdOutputType.File | Seleciona o tipo de saída para o relatório do CPD. 2 tipos válidos: File , Console |
cpdTargetPath | Caminho do arquivo | <cross-target>/cpd | Caminho de saída para relatórios de CPD. |
cpdReportName | String (nome do arquivo) | cpd.xml | Nome do arquivo de relatório para gerar (em cpdTargetPath ). |
cpdReportFileEncoding | Corda | utf-8 | Codificação do arquivo de relatório. |
cpdSkipDuplicateFiles | Booleano | false | Ignore várias cópias de arquivos com o mesmo nome e comprimento em comparação. |
cpdSkipLexicalErrors | Booleano | false | Pule os arquivos que não podem ser tokenizados devido a caracteres inválidos em vez de abortar. |
cpdIgnoreLiterals | Booleano | false | Ignore as diferenças de valor literal ao avaliar um bloco duplicado. |
cpdIgnoreIdentifiers | Booleano | false | Ignore as diferenças de nome do identificador ao avaliar um bloco duplicado. |
cpdIgnoreAnnotations | Booleano | false | Ignore as anotações do idioma ao avaliar um bloco duplicado. |
cpdFailOnDuplicates | Booleano | false | Falha na construção se as duplicatas forem detectadas. |
ScalaJavaCCPPCSCSharpECMAScriptFortranGoJSPJavaScriptMatlabObjectiveCPHPPLSQRubySwiftCpdOutputType.Console , cpdTargetPath e cpdReportName serão ignorados. Muito obrigado a
por suas impressionantes contribuições!
Este programa e os materiais que o acompanham são disponibilizados nos termos da licença pública Eclipse v1.0, que acompanha essa distribuição e está disponível em http://www.eclipse.org/legal/epl-v10.html