最近阿里发布了《阿里巴巴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