2010-11-11 5 views
4

Я хотел бы, чтобы моя конфигурация eclipse PMD plugin получила доступ к тем же standard ruleset files, что и maven-pmd-plugin.В плагине Eclipe PMD можно ли ссылаться на стандартные файлы правил?

Вы можете настроить Maven PMD плагин использовать пользовательский набор наборов правил, как это:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-pmd-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
     <rulesets> 
     <!-- Two rule sets that come bundled with PMD --> 
     <ruleset>/rulesets/braces.xml</ruleset> 
     <ruleset>/rulesets/naming.xml</ruleset> 
     <!-- Custom local file system rule set --> 
     <ruleset>d:\rulesets\strings.xml</ruleset> 
     <!-- Custom remote rule set accessed via a URL --> 
     <ruleset>http://localhost/design.xml</ruleset> 
     </rulesets> 
    </configuration> 
</plugin> 

но в затмении плагин можно только включить/отключить отдельные правила или указать один файл набора правил , Возможно ли, что файл правил может содержать несколько других? Или мне нужно агрегировать этот файл автоматически из наборов правил, которые я хочу использовать?

+0

Мне очень интересно посмотреть, как вы это решите :) –

+0

Я тоже. Я что-то вроде хакера, но я пытаюсь понять, достаточно ли я сумасшедший, чтобы снять это: прочитайте конфигурацию плагина Maven PMD, найдите ссылки на файлы правил, запишите их правила и создайте файл .rules используя эти правила, которые может использовать eclipse. Похоже на меня, не так ли? :-) Это, конечно, в контексте моего вопроса m2eclipse: http://stackoverflow.com/questions/4122308/can-i-configure-m2eclipse-through-pom-xml –

+0

Да, я понял, что последние вопросы были связаны к этому. И да, это определенно звучит как вы> :) –

ответ

2

Вы можете включить другие наборы правил в файл набора правил PMD, например.

<ruleset ...> 
    ... 
    <rule ref="rulesets/basic.xml"/> 
    ... 
    <rule ref="rulesets/strings.xml"> 
     <exclude name="AvoidDuplicateLiterals"/> 
    </rule> 
    ... 
</ruleset> 

Это на самом деле отрывок из собственного файла набора правил, так что доказано работать :-)

Как вы можете видеть, вы можете включать/выключать отдельные правила из вашего набора правил, или даже переконфигурировать их. Одно предостережение: вы не должны смешивать правила для разных языков в одном наборе правил. То есть в нашем случае нам пришлось создавать отдельные наборы правил для Java и JSP.

Я сам узнал трюки от this page.

+0

круто! Это упростит ситуацию! –

+0

Не знал этого. Благодаря! –

+0

JSP is evil :-) Мы используем калитки, поэтому здесь есть только Java (и некоторый минимальный HTML) –