基于Gradle使用阿里巴巴Java开发规约进行代码检查

阿里的开发规约插件是基于PMD进行的代码检测,而且已经有PMD的Gradle插件。

参考gradle pmd插件的自定义规则的使用这文章后,剩下的问题就是如何把阿里制定的Rule也引进来。

定制RuleSet

新建文件 etc/pmd/ruleset.xml,其内容如下:



  
    自定义Rule set
  
  
  
    
  
  
    
  
  
  
  
  

  
    
    
  
  

  
    
  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  


从上面例子可以看出,非常方便定制rule。甚至还可以使用 exclude 标签排队不需要的rule。

build.gradle

apply plugin: 'java'
apply plugin: 'pmd'

ext {
  p3cPmdVersion = "1.3.0"
  pmdVersion = '5.5.2' # 与p3c-pmd 中使用pmd的版本一致
}

// PMD配置
pmd {
  toolVersion = pmdVersion // 避免使用比较旧的版本,需要指定pmd的版本
  ignoreFailures = true
  ruleSetConfig = resources.text.fromFile("etc/pmd/ruleset.xml")
}

dependencies {
  pmd "com.alibaba.p3c:p3c-pmd:${p3cPmdVersion}"
}

通过上面例子可以看出,使用p3c-pmd,其实很简单,只需要把其一些rule 导到ruleSetConfig 文件中即可。

执行检查

PMD插件提供了如下几个任务

任务名称 描述
pmdMain 检查src/main/java下的代码
pmdTest 检查src/main/test下的代码
pmdSourceSet 检查给定范围的代码
check 检查源码和单元测试代码

执行下面命令:

gradle check

会将执行结果输出到 build/reports/pmd目录中的main.html、test.html等文件中。

你可能感兴趣的:(基于Gradle使用阿里巴巴Java开发规约进行代码检查)