Pergunta

Estou fazendo uma substituição para uma terceira classe partido e eu quero suprimir todas as verificações para ele (desde que eu só estou mantendo-a em torno até que o patch é aceito).

Existe uma maneira para suprimir todas as verificações para um arquivo?

Eu tentei usar "*", mas que falha.

Foi útil?

Solução

Não sei se você está usando linha de comando ou em um IDE, mas você precisa basicamente um arquivo suppresions. Se você estiver editando manualmente o arquivo de configuração Checkstyle, adicionar um novo módulo para isso:

<module name="SuppressionFilter">
    <property name="file" value="mysuppressions.xml" />
</module>

Seu mysuppression.xml pode ser algo como:

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
    <suppress files="TheClassToIgnore\.java" checks="[a-zA-Z0-9]*"/>
</suppressions>

O valor para o atributo "files" é basicamente um regex para seus arquivos de origem, eo valor para o atributo "checks" é regex para que verificações para pular ( "[a-zA-Z0-9]*" basicamente significa pular tudo). Este é o padrão que você está procurando Eu acho que?

Outras dicas

Eu era capaz de suprimir os controlos em um arquivo, adicionando a tag SuppressionCommentFilter na minha checks.xml:

Em primeiro lugar, eu adicionei a tag FileContentHolder como um filho de TreeWalker tag (este passo é não necessária uma vez que a versão 8.1 do com.puppycrawl.tools:checkstyle):

<module name="TreeWalker">
    ...
    <module name="FileContentsHolder"/>
    ...
</module>

Então eu adicionei o SuppressionCommentFilter na checks.xml (desde a versão 8.1 do com.puppycrawl.tools:checkstyle - em "TreeWalker" nó):

<module name="SuppressionCommentFilter"/>

Em cada arquivo que eu queria suprimir os cheques I inserido o seguinte comentário na primeira linha do arquivo:

// CHECKSTYLE:OFF

resposta das aberrant80 ajudou muito. Com a ajuda de sua dica - usando correspondência de padrão regex, eu também era capaz de checkstyle suprimir para um pacote inteiro, adicionando este para o arquivo checkstyle-suppressions.xml. Para, por exemplo. para pular verificações checkstyle em todos os arquivos java auto gerado no âmbito do pacote jaxb,

    <suppressions>
        <suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" />
    </suppressions>

Se você estiver usando o plugin Checkclipse Eclipse para Checkstyle, você pode incluir ou excluir padrões de arquivos (incluindo diretórios), indo para a guia Filtro Checkclipse> Arquivo sob propriedades do projeto. Por exemplo, o meu projeto contém src e teste diretórios no nível superior. Quero Checkstyle aplicado a apenas arquivos no src diretório (omitindo test ), então eu adicionei um include padrão que se parece com isso:

src/.+java$

Como você pode ver, ele usa uma sintaxe de estilo regex para a especificação padrão.

resposta

@ do aberrant80 é muito inspirador, embora não funcionou no meu projeto. A fim de suprimir todos os avisos que a aparência checkstyle para em Foo.java, de acordo com link , se maven é usado:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    ...
        <configuration>
            ...
            <configLocation>checkstyle.xml</configLocation>
            <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
            ...
        </configuration>                
    ...
</plugin>

E checkstyle-suppressions.xml

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
    <suppress files="Foo.java" checks="[a-zA-Z0-9]*" />
</suppressions>

Até agora a versão mais alto é de 1,1 (1,2 não existe).

Há uma opção para ignorar arquivos protegido contra gravação. Ou arquivos em um pacote.

Se você deseja não tem um grupo de arquivos dentro de um projeto inspecionados, você pode filtrar esses arquivos para que eles não são inspeccionados através da criação de um filtro de arquivo

Os usos filtro de arquivo regex para determinar quais arquivos para excluir. A regex opera no nome do arquivo completo - por causa disso, você também pode excluir pastas inteiras. Neste caso, você poderia excluir todo o pacote se você quisesse.

Se você google em torno de um pouco - você provavelmente poderia encontrar alguns arquivos de configuração Checkstyle Propertie que têm exemplos do que você está procurando. Eu sugeriria depois de fazê-lo - salvá-lo como um pouco de um modelo assim que você possa consultá-la em situações futuras

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top