Sto usando Maven 3 e Checkstyle 2.9.1 nel mio java progetto e ho una configurazione comune checkstyle che stiamo usando in diversi altri progetti come bene. Per evitare di copiare e modificare il file di configurazione nel mio progetto, utilizzo un file di soppressione per disabilitare tutti i controlli in alcuni pacchetti (codice generato).Qual è la sintassi corretta per sopprimere specifiche regole del check-in su determinati file?
Ora voglio sopprimere le regole specifiche in tutti i file.
Questo è il mio file soppressioni:
<?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="my[\\/]generated[\\/]code[\\/]package" checks="."/>
<suppress files=".*\\.java$" checks="IndentationCheck"/>
<suppress files=".*\\.java$" checks="LineLengthCheck"/>
<suppress files=".*\\.java$" checks="ExplicitInitializationCheck"/>
<suppress files=".*\\.java$" checks="MemberNameCheck"/>
</suppressions>
Questo è il mio POM:
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>${checkstyle.ruleset}</configLocation>
<suppressionsLocation>${checkstyle.suppressions}</suppressionsLocation>
</configuration>
</plugin>
</plugins>
</build>
Sto quindi chiamando
mvn checkstyle:checkstyle
per generare i report, ma la soppresso gli avvertimenti sono ancora lì.
Cosa sto facendo di sbagliato qui?
Bene, il file di soppressione viene riconosciuto e utilizzato. Ma la vera soppressione non funzionava. Ho trovato la soluzione, ma non ho il codice sorgente con me oggi. Aggiornerò la mia domanda il lunedì – cringe
$ {checkstyle.ruleset} e $ {checkstyle.suppressions} cosa succede in questi due? – user1730789