最近阿里發佈了《阿里巴巴Java開發手冊》,一時間無數阿里擁躉如獲武穆遺書,就在近日阿里又順便發佈了<阿里巴巴java開發規約插件>,能夠輕鬆的在碼字階段得到相應的編碼提示,那麼,在Gradle中如何應用阿里開發規約
進行代碼檢查呢.且看下文.html
阿里的開發規約插件是基於PMD進行的代碼檢測,因此在Gradle應用阿里開發規約
檢查只須要使用gradle
提供的pmd
插件便可達成目的.
目前阿里開發規約提供了以下一些規則配置,要應用這些配置只須要將他們配置到pmd
的檢查規則中便可.java
PMD介紹
PMD(Project Manager Design)是一種開源分析Java代碼錯誤的工具。與其餘分析工具不一樣的是,PMD經過靜態分析獲知代碼錯誤。也就是說,在不運行Java程序的狀況下報告錯誤。PMD附帶了許多能夠直接使用的規則,利用這些規則能夠找出Java源程序的許多問題。此外,用戶還能夠本身定義規則,檢查Java代碼是否符合某些特定的編碼規範。
PMD的核心是JavaCC解析器生成器。PMD結合運用JavaCC和EBNF(擴展巴科斯-諾爾範式,Extended Backus-Naur Formal)語法,再加上JJTree,把Java源代碼解析成抽象語法樹(AST,Abstract Syntax Tree)。git以上內容引自百度百科-PMD條目github
apply plugin: 'java'
apply plugin: 'pmd'
ext {
p3c = "1.3.0"
}
pmd {
consoleOutput = true
reportsDir = file("build/reports/pmd")
ruleSets = [
"java-ali-comment"
]
}
repositories {
jcenter()
}
dependencies {
pmd "com.alibaba.p3c:p3c-pmd:${p3c}"
}複製代碼
這裏有幾個須要注意的點api
rule
都添加了默認的java-
前綴,必定不要丟掉pmd
,這樣依賴纔會加到pmdClasspath
中爲pmd
所用pmd插件dsl手冊
該插件提供了以下幾個任務app
任務名稱 | 描述 |
---|---|
pmdMain | 檢查src/main/java下的代碼 |
pmdTest | 檢查src/main/test下的代碼 |
pmdSourceSet | 檢查給定範圍的代碼 |
check | 檢查源碼和單元測試代碼 |
能夠按照需求運行對應任務進行代碼檢查。工具
//使用短寫方式運行pmdMain任務
gradle pM複製代碼
輸出的檢測報告在咱們定義的目錄裏能夠找到build/reports/pmd
oop