PMD

Gradle 設定


專案的 Gradle 需要加上 pmd task

在 fly/build.gradle 新增以下

repositories {
    mavenCentral() // 這一行.
}
apply plugin: 'pmd'
task pmd(type: Pmd) {

    ignoreFailures = true
    source = fileTree('src/main/java')
    ruleSetFiles =files("${project.projectDir}/config/pmd/PmdRuleSets.xml")
    ruleSets = ["java-android"]

    reports {
        xml {
            destination "build/pmd.xml"
        }
    }

}

設定檔


將 PmdRuleSets.xml 放在 fly/config/pmd 裡面,內容如下

<?xml version="1.0"?>
<ruleset name="Custom ruleset" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
    <description>
        This ruleset checks my code for bad stuff
    </description>
    <!-- We'll use the entire 'strings' ruleset -->
    <rule ref="rulesets/java/strings.xml" />
    <rule ref="rulesets/java/android.xml" />
    <!-- Here's some rules we'll specify one at a time -->
    <rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable" />
    <rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField" />
    <rule ref="rulesets/java/imports.xml/DuplicateImports" />
    <rule ref="rulesets/java/basic.xml/UnnecessaryConversionTemporary" />
    <!-- We want to customize this rule a bit, change the message andraise the priority  -->
    <rule ref="rulesets/java/basic.xml/EmptyCatchBlock" message="Must handle exceptions">
        <priority>2</priority>
    </rule>
    <!-- Now we'll customize a rule's property value -->
    <rule ref="rulesets/java/codesize.xml/CyclomaticComplexity">
        <properties>
            <property name="reportLevel" value="5" />
        </properties>
    </rule>
    <!-- We want everything from braces.xml exceptWhileLoopsMustUseBraces -->
    <rule ref="rulesets/java/braces.xml">
        <exclude name="WhileLoopsMustUseBraces" />
    </rule>
</ruleset>

安裝


設定


報告


results matching ""

    No results matching ""