2013-11-23 7 views
5

Sto usando PMD in eclissi 4.3.1/Kepler e io non possiamo escludere file e cartelle dal controllo delle violazioni.PMD in eclissi non accetta il modello di esclusione

mia struttura di cartelle

/any/path/to/the/workspace/myproject1 
/any/path/to/the/workspace/myproject2 
/any/path/to/the/workspace/myprojectWithPMDrulesFile/pmd-rules.xml 

Ora seguenti cartelle vengono generate da TestNG

...../myproject1/test-output 
...../myproject2/test-output 

Ora ho configurato seguente file regole:

<?xml version="1.0" encoding="UTF-8"?> 
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    name="Xeno-PMD-rules" 
    xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> 
    <description>PMD Plugin preferences rule set</description> 
    <exclude-pattern>.*/test-output/*.*</exclude-pattern> 
    <exclude-pattern>/.*/test-output/.*</exclude-pattern> 
    <exclude-pattern>**/test-output/**</exclude-pattern> 
    <exclude-pattern>./test-output/.</exclude-pattern> 
    <rule ref="rulesets/java/android.xml/CallSuperFirst"/> 
    ... 
</ruleset> 

Nel mio caso ho molti cento errori nel file jquery.js, che è in test-output.

Come posso escludere una cartella specifica e tutti i file in essa in modo ricorsivo?

Come impostare il motivo per lavorare in eclissi e sotto ANT/Maven?

suggerimento: sembra essere simile a: PMD exclude not working

risposta

7

È quasi fatta già! Utilizzare la seguente sintassi di esclusione:

<exclude-pattern>.*/test-output/.*</exclude-pattern> 

Questo esclude tutti i file che hanno /test-output/ qualche parte nel loro percorso assoluto. Il modello è lo stesso in Eclipse e Ant/Maven, purché le cartelle escluse siano anche chiamate test-output.

Ulteriori spiegazioni ed esempi sono disponibili nello PMD documentation.