64 votes

Comment supprimer toutes les vérifications pour un fichier dans checkstyle ?

Je fais une surcharge pour une classe tierce et je veux supprimer toutes les vérifications pour elle (puisque je ne la garde que jusqu'à ce que le patch soit accepté).

Existe-t-il un moyen de supprimer toutes les vérifications pour un fichier ?

J'ai essayé d'utiliser "*" mais ça ne marche pas.

74voto

aberrant80 Points 4544

Je ne sais pas si vous utilisez la ligne de commande ou un IDE, mais vous aurez essentiellement besoin d'un fichier de suppléments. Si vous modifiez manuellement le fichier de configuration Checkstyle, ajoutez-y un nouveau module :

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

Votre mysuppression.xml peut être quelque chose comme :

<?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>

La valeur de " files L'attribut " est essentiellement une expression rationnelle pour vos fichiers sources, et la valeur de l'attribut " checks L'attribut " est une expression rationnelle pour les vérifications à ignorer ("" [a-zA-Z0-9]* " signifie en gros : tout sauter). C'est le modèle que vous recherchez, je suppose ?

33voto

Alceu Costa Points 3045

J'ai pu supprimer les contrôles dans un fichier en ajoutant la balise SuppressionCommentFilter dans mon checks.xml :

J'ai d'abord ajouté la balise FileContentHolder comme enfant de la balise TreeWalker :

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

J'ai ensuite ajouté le SuppressionCommentFilter dans le checks.xml :

<module name="SuppressionCommentFilter"/>

Dans chaque fichier pour lequel je voulais supprimer les contrôles, j'ai inséré le commentaire suivant dans la première ligne du fichier :

// CHECKSTYLE:OFF

21voto

Inxsible Points 303

La réponse de aberrant80 a beaucoup aidé. Avec l'aide de son astuce - en utilisant la correspondance de motifs regex, j'ai également pu supprimer le checkstyle pour un paquet entier en ajoutant ceci au fichier checkstyle-suppressions.xml. Par exemple, pour ignorer les vérifications de checkstyle sur tous les fichiers java générés automatiquement sous le paquet jaxb,

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

8voto

Rob H Points 5599

Si vous utilisez le plugin Checkclipse Eclipse pour Checkstyle, vous pouvez inclure ou exclure des modèles de fichiers (y compris des répertoires) en allant dans l'onglet Checkclipse > File Filter sous les propriétés du projet. Par exemple, mon projet contient src et test au niveau supérieur. Je veux que Checkstyle soit appliqué uniquement aux fichiers du répertoire src (en omettant test ), j'ai donc ajouté un modèle d'inclusion qui ressemble à ceci :

src/.+java$

Comme vous pouvez le constater, il utilise une syntaxe de type regex pour la spécification des motifs.

0voto

kd304 Points 8369

Il existe une option permettant d'ignorer les fichiers protégés en écriture. Ou les fichiers dans un paquet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X