2012-04-30 10 views
7

Sto provando a dare a Checkstyle un qualsiasi tipo di file, ma ignora tutto ciò che non è un file .java. ho creato un filtro, ma che non sembra funzionare:C'è un modo per eseguire Checkstyle solo su file .java SENZA ANT?

public class DotJavaFilter 
    extends AutomaticBean 
    implements Filter 
{ 

    public DotJavaFilter() 
     throws PatternSyntaxException 
    { 
    } 

    public boolean accept(AuditEvent aEvent) 
    { 
     final String fileName = aEvent.getFileName(); 
     return fileName.endsWith(".java"); 
    } 
} 

mi piacerebbe dare CS una directory di file e farlo elaborare solo quelli .java.

+0

Utilizzare la formattazione del codice per codice, input/output e documenti strutturati come HTML o XML. Per farlo, seleziona il campione e fai clic sul pulsante '{}' sopra il modulo di pubblicazione/modifica. –

risposta

6

È possibile eseguire sulla riga di comando come questo:

java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src 

Se si utilizza bash, è possibile attivare globstar e quindi elaborare solo i file java in questo modo:

shopt -s globstar 
java -jar checkstyle-5.5-all.jar -c docs/sun_checks.xml -r /path/to/src/**/*.java 

Checkstyle la documentazione della riga di comando è here.


Aggiornamento: utilizzo di un filtro anti

Creare un file soppressioni quali ignorare tutti i controlli sui file di classe. È possibile aggiungere regex per altri tipi di file che non sono interessati.

suppressions.xml:

<suppressions> 
    <suppress checks="." files=".*\.class"/> 
</suppressions> 

Aggiungere un filtro di soppressione per i vostri controlli File:

my_checks.xml:

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

eseguirlo:

java -jar checkstyle-5.5-all.jar -c my_checks.xml -r /path/to/src 

Documentazione sulla soppressione I filtri sono disponibili here.

+0

No, non funziona così. Se assegni a CS una directory di moduli che contiene file di origine e file di classe compilati, CS troverà e analizzerà i file .java insieme ai file .class. I miei utenti non vogliono che raccolga file non java. –

+0

CORREZIONE: funziona con sun_checks.xml. Quando inserisco il mio file di configurazione, raccoglie tutto. –

+0

Vedere il mio aggiornamento sull'utilizzo di un filtro di soppressione. – dogbane

Problemi correlati