Question

Je fais un remplacement pour une classe tierce et je veux supprimer toutes les vérifications (car je ne le conserve que jusqu'à l'acceptation du correctif).

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

J'ai essayé d'utiliser " * " mais cela échoue.

Était-ce utile?

La solution

Je ne sais pas si vous utilisez la ligne de commande ou dans un IDE, mais vous aurez essentiellement besoin d'un fichier de suppression. 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 ressembler à 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 " fichiers " Cet attribut est fondamentalement une expression rationnelle pour vos fichiers source et la valeur du paramètre " vérifie ". L'attribut est regex pour ce qui vérifie d'ignorer (" [a-zA-Z0-9] * " signifie essentiellement ignorer tout). C’est le motif que vous recherchez, je suppose?

Autres conseils

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

Tout d'abord, j'ai ajouté la balise FileContentHolder en tant qu'enfant de la balise TreeWalker (cette étape n'est pas nécessaire depuis la version 8.1 de com.puppycrawl.tools:checkstyle):

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

Ensuite, j'ai ajouté SuppressionCommentFilter dans le fichier checks.xml (depuis la version 8.1 de com.puppycrawl.tools:checkstyle - sous le nœud "TreeWalker"):

<module name="SuppressionCommentFilter"/>

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

// CHECKSTYLE:OFF

La réponse de aberrant80 a beaucoup aidé. Avec l'aide de son indice - en utilisant la correspondance de motif regex, j'ai également pu supprimer le style checkstyle pour un paquet entier en l'ajoutant au fichier checkstyle-suppressions.xml. Pour par exemple. ignorer les contrôles checkstyle sur tous les fichiers java générés automatiquement dans le package jaxb,

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

Si vous utilisez le plug-in Checkclipse Eclipse pour Checkstyle, vous pouvez inclure ou exclure des modèles de fichiers (y compris des répertoires) en accédant à la page Checkclipse > Filtre de fichiers sous les propriétés du projet. Par exemple, mon projet contient les répertoires src et test situés au niveau supérieur. Je souhaite que Checkstyle soit appliqué uniquement aux fichiers du répertoire src (en omettant le test ). J'ai donc ajouté un modèle d'inclusion ressemblant à ceci:

src/.+java$

Comme vous pouvez le constater, il utilise une syntaxe de style regex pour la spécification du motif.

La réponse de @ aberrant80 est très inspirante bien que cela n'ait pas fonctionné dans mon projet. Afin de supprimer tout avertissement que checkstyle recherche dans Foo.java, procédez comme suit: link , si vous utilisez maven:

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

Et dans 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>

Jusqu'à présent, la version la plus récente est la version 1.1 (la version 1.2 n'existe pas).

Il existe une option pour ignorer les fichiers protégés en écriture. Ou des fichiers dans un package.

Si vous ne souhaitez pas inspecter un groupe de fichiers au sein d'un projet, vous pouvez les filtrer afin qu'ils ne soient pas inspectés en créant un filtre de fichier

.

Le filtre de fichier utilise regex pour déterminer les fichiers à exclure. L'expression rationnelle agit sur le nom de fichier complet. De ce fait, vous pouvez également exclure des dossiers entiers. Dans ce cas, vous pouvez exclure l’ensemble du package si vous le souhaitez.

Si vous cherchez un peu sur Google, vous pourrez probablement trouver des fichiers de propriétés de configuration Checkstyle contenant des exemples de ce que vous recherchez. Je vous conseillerais ensuite de le conserver - enregistrez-le en tant que modèle afin de pouvoir vous y référer ultérieurement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top