2014-08-30 2 views
6

В проектах Java Gradle мы можем использовать PMD через плагин pmd. Чтобы настроить правила, которые мы хотим использовать можно сделать два способов:Как найти имена рецептов PMD в Gradle> 2.0

  • ruleSetFiles - Пользовательские правила набор файлы, которые будут использоваться. См. Официальную документацию, как создать файл набора правил. Пример: ruleSetFiles = файлы ("конфигурация/PMD/myRuleSet.xml")
  • Rulesets Встроенные наборы правил, которые будут использоваться. См. Официальный список встроенных наборов правил. не

С ruleSetFiles нет проблем вы можете найти имена правил и добавить или исключить из них, но в документации нет никакой информации о ruleStes? Откуда найти точные имена? Из того, что я нашел из других проектов, имена похожи на имена из документации PMD, но в нижнем регистре. Например:

Braces - > java-braces 
Clone - > java-clone 
Implementation - >java-implementation 
Code Size - > java-codesize 

Но это как Руководство Код безопасности не трансформируются в -> Java-securitycodeguidelines но только в Java-sunsecure. Я обнаружил, что имена, которые работают с PMD 5.1.1. являются:

pmd { 
     ruleSets = [ 
     'java-android', 
     'java-basic', 
     'java-braces', 
     'java-clone', 
     'java-codesize', 
     'java-comments', 
     'java-controversial', 
     'java-coupling', 
     'java-design', 
     'java-empty', 
     'java-finalizers', 
     'java-imports', 
     'java-j2ee', 
     'java-javabeans', 
     'java-junit', 
     'java-logging-jakarta-commons', 
     'java-logging-java', 
     'java-migrating', 
     'java-naming', 
     'java-optimizations', 
     'java-strictexception', 
     'java-strings', 
     'java-sunsecure', 
     'java-typeresolution', 
     'java-unnecessary', 
     'java-unusedcode'   
     ] 
    toolVersion = '5.1.1' 
    ignoreFailures = true 
} 

Как найти сопоставление между именами PMD, которые указаны в их документации и названиях Gradle?

+1

Нет картирования. Это официальные имена наборов правил PMD. –

+0

Так вы можете дать мне ссылку, откуда их найти, потому что из указанной ссылки в документации http://pmd.sourceforge.net/pmd-5.1.2/rules/index.html Я не могу найти их , – Xelian

+1

Я не знаю, если и где имена документированы. Лучше спросите людей PMD. –

ответ

3

The docs for RuleSetReferenceId полезны, так как я считаю это directory в дереве источников. По существу, java - перед любым из этих файлов, чтобы включить там правила.