PMD 外掛程式會使用 PMD 對專案的 Java 原始檔執行品質檢查,並從這些檢查中產生報告。

用法

若要使用 PMD 外掛程式,請在建置指令碼中包含下列內容

build.gradle.kts
plugins {
    pmd
}
build.gradle
plugins {
    id 'pmd'
}

外掛程式會新增一些工作到專案中,以執行品質檢查。您可以執行 gradle check 來執行檢查。

請注意,PMD 會使用與執行 Gradle 相同的 Java 版本來執行。

工作

PMD 外掛程式會新增下列工作到專案中

pmdMainPmd

對正式 Java 原始檔執行 PMD。

pmdTestPmd

對測試 Java 原始檔執行 PMD。

PMD 外掛程式會新增下列相依性到 Java 外掛程式定義的工作中。

表格 1. PMD 外掛程式 - 其他工作相依性
工作名稱 依賴

檢查

所有 PMD 工作,包含 pmdMainpmdTest

依賴管理

PMD 外掛新增下列依賴組態

表 2. PMD 外掛 - 依賴組態
名稱 意義

pmd

要使用的 PMD 函式庫

pmdAux

在分析期間可用的其他函式庫,這在 PMD 抱怨遺失類別時可能很有用。

組態

build.gradle.kts
pmd {
    isConsoleOutput = true
    toolVersion = "6.21.0"
    rulesMinimumPriority = 5
    ruleSets = listOf("category/java/errorprone.xml", "category/java/bestpractices.xml")
}
build.gradle
pmd {
    consoleOutput = true
    toolVersion = "6.21.0"
    rulesMinimumPriority = 5
    ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"]
}

請參閱 API 文件中的 PmdExtension 類別。

平行分析

您可以設定 PMD 執行其分析時要使用的執行緒數量。

build.gradle.kts
pmd {
    threads = 4
}
build.gradle
pmd {
    threads = 4
}

此組態是 PMD 內部的,與 Gradle 使用的 工作人員數量 無關。這表示您必須注意在此輸入的值,並確保在多專案建置中仍然有意義。這是因為平行 Gradle 工作執行可能會導致來自不同專案的不同 PMD 工作平行執行。如果多個 PMD 工作同時在 n 個專案中執行,則最多可能同時執行 (n * thread) 個 PMD 執行緒。