2011-11-23 91 views
1

我有一個Ant任務產生PMD報告:螞蟻PMD和規則排除

<pmd rulesetfiles="${commons-home}/src/main/resources/pmd/wai_ruleset.xml"> 
    <formatter type="xml" toFile="${target.reports.pmd}/pmd-report.xml" linkPrefix="${src.main}/"/> 
    <fileset dir="${src.main}"> 
     <include name="**/*.java"/> 
    </fileset> 
</pmd> 

wai_ruleset.xml我(試圖)從規則排除NullAssignment

<?xml version="1.0"?> 
    <ruleset name="WAI rule set" 
     xmlns="http://pmd.sf.net/ruleset/1.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd" 
     xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"> 

    <description> 
     WAI rules 
    </description> 

    <!-- imports --> 
    <rule ref="rulesets/basic.xml"> 
     <exclude name="CollapsibleIfStatements"/> 
    </rule> 
    <rule ref="rulesets/favorites.xml"> 
     <!-- we redefine it below with a different threshold --> 
     <exclude name="CyclomaticComplexity" /> 
     <!-- empty default constructors are needed by Envers --> 
     <exclude name="UnnecessaryConstructor"/> 
    </rule> 

    <!-- CyclomaticComplexity with a threshold of 12 --> 
    <rule ref="rulesets/codesize.xml/CyclomaticComplexity"> 
     <priority>1</priority> 
     <properties> 
      <property name="reportLevel" value="12" /> 
     </properties> 
    </rule> 

    <rule ref="rulesets/controversial.xml"> 
     <exclude name="UnnecessaryConstructor"/> 
     <exclude name="OnlyOneReturn"/> 
     <exclude name="AssignmentInOperand"/> 
     <exclude name="BooleanInversion"/> 
     <exclude name="NullAssignment"/> 
     <exclude name="DataflowAnomalyAnalysis"/> 
    </rule> 

</ruleset> 

如果我不」 t排除NullAssignment我得到兩個每個賦值爲空的警告。如果我排除NullAssignment,我仍然會將每個分配的警告都設爲空。

哪個規則正在生成額外的警告?這是一個錯誤嗎?

回答

3

檢查favorites.xml一個包含NullAssignment

編輯的:其實,如果它是標準的文件包含的PMD,it has NullAssignment included

+0

我並不認爲那些最喜歡的規則已經在其他集合中,但它是有道理的。謝謝! – Matteo