2013-11-23 9 views
5

Używam programu PMD w ramach programu Eclipse 4.3.1/Kepler i nie można wykluczyć plików i folderów z testu naruszenia.PMD w środowisku Eclipse nie akceptuje szablonu wykluczającego

Moja struktura folderów

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

teraz następujące foldery generowana przez TestNG

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

Teraz mam skonfigurowany następujący plik zasad:

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

w moim przypadku mam wielu setek błędy w pliku jquery.js, który znajduje się w wynikach testowych.

Jak mogę wykluczyć określony katalog i wszystkie pliki w nim rekursywnie?

Jak ustawić wzór do pracy w czasie zaćmienia i pod ANT/maven?

podpowiedź: wydaje się być podobny do: PMD exclude not working

Odpowiedz

7

Prawie dostałem to już! Użyj następującej składni wykluczeń:

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

To wykluczy wszystkie pliki, które mają /test-output/ gdzieś w ich ścieżki bezwzględnej. Wzór jest taki sam w Eclipse i Ant/Maven, o ile wykluczone foldery są również nazywane test-output.

Dodatkowe wyjaśnienia i przykłady można znaleźć w PMD documentation.

Powiązane problemy