Frage

Ich bin für einen Dritten Klasse eine Überschreibung zu tun und ich möchte alle Prüfungen für sie zu unterdrücken (da ich nur halten es bin herum, bis der Patch akzeptiert wird).

Gibt es eine Möglichkeit alle Prüfungen für eine Datei zu unterdrücken?

Ich habe versucht, mit "*", aber das nicht.

War es hilfreich?

Lösung

Sie wissen nicht, ob Sie Befehlszeile oder in einer IDE verwenden, aber Sie werden im Grunde eine suppresions Datei benötigen. Wenn Sie manuell die Checkkonfigurationsdatei Bearbeitung sind, fügen Sie ein neues Modul hinzu:

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

Ihre mysuppression.xml können so etwas wie:

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

Der Wert für „files“ Attribut ist im Grunde eine Regex für die Quelldateien, und der Wert für das „checks“ Attribut regex für das, was überspringen prüft ( „[a-zA-Z0-9]*“ bedeutet im Grunde alles überspringen). Dies ist das Muster, die Sie suchen Ich denke?

Andere Tipps

Ich war in der Lage, die Kontrollen in einer Datei zu unterdrücken, indem den SuppressionCommentFilter Tag in meinem checks.xml hinzufügen:

Als erstes habe ich die FileContentHolder Tag als Kind TreeWalker Tag (dieser Schritt ist nicht benötigt seit der Version 8.1 von com.puppycrawl.tools:checkstyle):

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

Dann habe ich die SuppressionCommentFilter in der checks.xml (ab Version 8.1 von com.puppycrawl.tools:checkstyle - unter "TreeWalker" node):

<module name="SuppressionCommentFilter"/>

In jeder Datei, die ich wollte, um die Kontrollen zu unterdrücken ich den folgenden Kommentar in der ersten Zeile der Datei eingefügt:

// CHECKSTYLE:OFF

aberrant80 Antwort hat mir sehr geholfen. Mit Hilfe seines Hinweis - RegexMuster Matching, war ich auch in der Lage check für ein ganzes Paket zu unterdrücken, indem diese auf die Check-suppressions.xml Datei hinzufügen. Für zB. überspringen checkPrüfungen für alle automatisch generierten Java-Dateien unter dem jaxb Paket,

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

Wenn Sie das Checkclipse Eclipse-Plugin für Checkstyle verwenden, können Sie enthalten oder Dateimuster (einschließlich Verzeichnisse) ausschließen, indem Sie auf die Checkclipse> Registerkarte Dateifilter unter Projekteigenschaften gehen. Zum Beispiel meines Projekt enthält src und Test Verzeichnisse auf der obersten Ebene. Ich möchte Check nur Dateien in den angewendet src Verzeichnis (Weglassen Test ), so fügte ich ein Muster enthalten, die wie folgt aussieht:

src/.+java$

Wie Sie sehen können, verwendet es eine Regex-Stil Syntax für Muster-Spezifikation.

@ aberrant80 Antwort ist sehr inspirierend, obwohl es nicht in meinem Projekt nicht funktioniert. Um alle Warnungen zu unterdrücken, dass check für in Foo.java sieht, nach link , wenn maven verwendet wird:

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

Und in check-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>

Bisher ist die höchste Version ist 1.1 (1.2 ist nicht vorhanden).

Es gibt eine Option zu ignorieren geschützte Dateien schreiben. Oder Dateien in einem Paket.

Wenn Sie nicht eine Gruppe von Dateien überprüft innerhalb eines Projekts haben, können Sie diese Dateien aus filtern können, so dass sie eine Dateifilter nicht überprüft, indem

Der Dateifilter verwendet regex, um zu bestimmen, was Ausschließen von Dateien. Die Regex arbeitet nach dem vollständigen Dateinamen - aus diesem Grund, auch ganze Ordner ausschließen könnte. In diesem Fall können Sie das ganze Paket ausschließen könnten, wenn man will.

Wenn Sie ein bisschen googeln um - Sie wahrscheinlich einige Check Konfiguration Propertie Dateien finden konnten, die Beispiele von dem, was Sie suchen. Ich würde vorschlagen, nachdem Sie dies tun - es als ein bisschen eine Vorlage speichern, damit Sie sie in Zukunft Situationen beziehen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top