API 文件 | Pmd |
---|
在 Java 原始碼檔案上執行一組靜態程式碼分析規則,並產生找到問題的報告。
屬性 | 描述 |
classpath | 用於分析的類別的編譯類別路徑。此類別路徑上的類別在分析期間使用,但本身不進行分析。這僅在 PMD 5.2.1 或更高版本中得到良好支持。 |
consoleOutput | 是否將 PMD 結果寫入 |
excludes | 排除模式的集合。 |
ignoreFailures | 孵化中 指定當此任務執行的驗證失敗時,建置是否應該中斷。 |
includes | 包含模式的集合。 |
incrementalAnalysis | 控制是否使用增量分析。這僅在 PMD 6.0.0 或更高版本中得到支持。有關更多詳細信息,請參閱 https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html。 |
javaLauncher | 孵化中 用於啟動 worker process 的 Java 啟動器 |
maxFailures | 在停止建置之前允許的最大失敗次數。預設值為 0,這將在任何失敗時停止建置。值 0 及以上有效。如果 |
maxHeapSize | 孵化中 worker process 的最大堆積大小。如果未指定,Gradle 將提供最大堆積大小。支持類似命令行選項 |
minHeapSize | 孵化中 worker process 的最小堆積大小。如果未指定,則不設定最小堆積大小。支持類似命令行選項 |
pmdClasspath | 包含要使用的 PMD 函式庫的類別路徑。 |
reports | 此任務要產生的報告。 |
ruleSetConfig | 要使用的自訂規則集(如果有的話)。取代 |
ruleSetFiles | 要使用的自訂規則集檔案。有關如何編寫規則集檔案,請參閱官方文件。如果您只想使用自訂規則集,則必須清除 |
ruleSets | 要使用的內建規則集。請參閱內建規則集的官方列表。 |
rulesMinimumPriority | 指定規則優先級閾值。 |
source | 應用包含和排除模式後,此任務的原始碼。忽略不存在的原始碼檔案。 |
targetJdk | 要與 PMD 一起使用的目標 JDK。 |
threads | 指定 PMD 使用的執行緒數。 |
方法 | 描述 |
exclude(excludeSpec) | 新增排除規範。可以多次調用此方法以附加新的規範。給定的 closure 會傳遞一個 |
exclude(excludes) | 新增 ANT 風格的排除模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。 |
exclude(excludes) | 新增 ANT 風格的排除模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。 |
exclude(excludeSpec) | 新增排除規範。可以多次調用此方法以附加新的規範。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。 |
include(includeSpec) | 新增包含規範。可以多次調用此方法以附加新的規範。給定的 closure 會傳遞一個 |
include(includes) | 新增 ANT 風格的包含模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式匹配才能進行處理。 |
include(includes) | 新增 ANT 風格的包含模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式匹配才能進行處理。 |
include(includeSpec) | 新增包含規範。可以多次調用此方法以附加新的規範。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式或規範匹配才能被包含。 |
reports(configureAction) | 配置由此任務產生的報告。 |
source(sources) | 向此任務新增一些原始碼。給定的原始碼物件將按照 |
區塊 | 描述 |
reports | 配置由此任務產生的報告。 |
FileCollection
classpath
用於分析的類別的編譯類別路徑。此類別路徑上的類別在分析期間使用,但本身不進行分析。這僅在 PMD 5.2.1 或更高版本中得到良好支持。
- 預設與
pmd
外掛程式 -
和sourceSet
.outputsourceSet
.compileClasspath
控制是否使用增量分析。這僅在 PMD 6.0.0 或更高版本中得到支持。有關更多詳細信息,請參閱 https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_userdocs_incremental_analysis.html。
- 預設與
pmd
外掛程式 -
false
在停止建置之前允許的最大失敗次數。預設值為 0,這將在任何失敗時停止建置。值 0 及以上有效。如果
ignoreFailures
已設定,則忽略此項,且建置將繼續(允許無限次失敗)。
- 預設與
pmd
外掛程式 project.pmd.maxFailures
注意:此屬性正在孵化中,並且可能在 Gradle 的未來版本中變更。
worker process 的最大堆積大小。如果未指定,Gradle 將提供最大堆積大小。支持類似命令行選項 -Xmx
的單位,例如 "1g"
。
注意:此屬性正在孵化中,並且可能在 Gradle 的未來版本中變更。
worker process 的最小堆積大小。如果未指定,則不設定最小堆積大小。支持類似命令行選項 -Xms
的單位,例如 "1g"
。
PmdReports
reports
(唯讀)
此任務要產生的報告。
TextResource
ruleSetConfig
要使用的自訂規則集(如果有的話)。取代 ruleSetFiles
,但目前尚不支援多個規則集。有關如何編寫規則集,請參閱官方文件。
ruleSetConfig = resources.text.fromFile(resources.file("config/pmd/myRuleSets.xml"))
- 預設與
pmd
外掛程式 project.pmd.ruleSetConfig
FileCollection
ruleSetFiles
要使用的自訂規則集檔案。有關如何編寫規則集檔案,請參閱官方文件。如果您只想使用自訂規則集,則必須清除 ruleSets
。
ruleSetFiles = files("config/pmd/myRuleSet.xml")
- 預設與
pmd
外掛程式 project.pmd.ruleSetFiles
FileTree
source
(唯讀)
應用包含和排除模式後,此任務的原始碼。忽略不存在的原始碼檔案。
原始碼的 PathSensitivity
配置為 PathSensitivity.ABSOLUTE
。如果您的原始碼不太嚴格,請在子類別中覆寫此方法以相應地變更它。
- 預設與
pmd
外掛程式 sourceSet
.allJava
SourceTask
exclude
(Closure
excludeSpec)
新增排除規範。可以多次調用此方法以附加新的規範。給定的 closure 會傳遞一個 FileTreeElement
作為其參數。closure 應傳回 true 或 false。範例
copySpec { from 'source' into 'destination' //an example of excluding files from certain configuration: exclude { it.file in configurations.someConf.files } }
如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。
SourceTask
exclude
(Iterable
<String
>
excludes)
Iterable
<String
>新增 ANT 風格的排除模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。
SourceTask
exclude
(String
...
excludes)
String
...新增 ANT 風格的排除模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。
SourceTask
exclude
(Spec
<FileTreeElement
>
excludeSpec)
Spec
<FileTreeElement
>新增排除規範。可以多次調用此方法以附加新的規範。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案不得與任何排除模式匹配才能進行處理。
SourceTask
include
(Closure
includeSpec)
新增包含規範。可以多次調用此方法以附加新的規範。給定的 closure 會傳遞一個 FileTreeElement
作為其參數。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式或規範匹配才能被包含。
SourceTask
include
(Iterable
<String
>
includes)
Iterable
<String
>新增 ANT 風格的包含模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式匹配才能進行處理。
SourceTask
include
(String
...
includes)
String
...新增 ANT 風格的包含模式。可以多次調用此方法以附加新的模式,並且可以在單次調用中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式匹配才能進行處理。
SourceTask
include
(Spec
<FileTreeElement
>
includeSpec)
Spec
<FileTreeElement
>新增包含規範。可以多次調用此方法以附加新的規範。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須與至少一個包含模式或規範匹配才能被包含。
PmdReports
reports
(Action
<? super PmdReports
>
configureAction)
Action
<? super PmdReports
>配置由此任務產生的報告。
SourceTask
source
(Object
...
sources)
Object
...向此任務新增一些原始碼。給定的原始碼物件將按照 Project.files(java.lang.Object[])
進行評估。