В проектах 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?
Нет картирования. Это официальные имена наборов правил PMD. –
Так вы можете дать мне ссылку, откуда их найти, потому что из указанной ссылки в документации http://pmd.sourceforge.net/pmd-5.1.2/rules/index.html Я не могу найти их , – Xelian
Я не знаю, если и где имена документированы. Лучше спросите людей PMD. –