Eclipse Checkstyle с конфигурацией и SuppressionFilter на сервере - PullRequest
5 голосов
/ 21 января 2010

Я настроил свой Eclipse для использования конфигурации удаленного контрольного стиля, расположенной на сервере, к которому я подключаюсь по HTTP. Это работает нормально, но конфигурация содержит:

<module name="SuppressionFilter">
<property name="file" value="${basedir}/checkstyle-filter.xml"/>
</module>

Поэтому я пытаюсь установить дополнительное свойство "basedir", которое указывает на тот же каталог, где находится конфигурация. Когда я пытаюсь запустить checkstyle в проекте, я получаю сообщение об ошибке: не удается инициализировать модуль SuppressionsFilter - невозможно установить для свойства 'file' в модуле SuppressionFilter значение 'http://"my Url " / checkstyle-filter.xml'

Есть предложения о том, как настроить Eclipse для использования конфигурации контрольного стиля с сервера, даже если он содержит SuppressionFilter? Я не хочу ставить checkstyle-фильтр в каждом проекте ...

Ответы [ 3 ]

10 голосов
/ 22 января 2010

В настоящее время это невозможно, как указано в В файлах удаленной конфигурации нельзя использовать SuppressionFilter - ID: 2018081 . На самом деле, проблема в Checkstyle, который использует объект java.io.File для внешнего файла SuppressionFilter (и, следовательно, установка значения, начинающегося с http: //, не будет работать). В Checkstyle есть запрос на изменение этой функции (см. Разрешить удаленные ссылки на дополнительную конфигурацию файла - ID: 2018608 ). Но не ожидайте, что эти изменения произойдут очень скоро (если только вы не начнете над этим работать :)

При этом, хотя я прекрасно понимаю необходимость использования файла конфигурации для общекорпоративного контрольного стиля, меня больше удивляет необходимость общего файла SuppressionFilter. В конце концов, его содержание зависит от проекта, не так ли? Итак, я думаю, что вы должны использовать другое свойство, например ${workspace} (или ваше собственное свойство, мое понимание Расширение заполнителей свойств заключается в том, что использование файла .properties должно работать с удаленным Конфигурация тоже) и попросите каждый проект предоставить свой собственный файл со своим SuppressionFilter, на который будет ссылаться из рабочей области. На основании соглашения это должно работать.

0 голосов
/ 31 января 2013

На самом деле, вы можете использовать фильтр подавления. Я настроил его таким образом с помощью удаленного конфига, используя плагин 5.6 eclipse checkstyle. Просто поместите файл подавления в тот же удаленный каталог, что и файл checkstyle.xml, а затем используйте следующее:

<property name="file" value="${config_loc}/suppression.xml" />

Затем он будет работать с затмением. В основном просто замените $ {base_dir} на $ {config_loc}

0 голосов
/ 07 февраля 2012

Мне не удалось добавить патч к исходному запросу функции, поэтому я создал новый запрос функции здесь: https://sourceforge.net/tracker/?func=detail&atid=397081&aid=3485185&group_id=29721

Я реализовал эту функцию, так как мне было необходимо, чтобы она могла отключить определенные проверки для корпоративных тестов и сгенерированных Eclipse классов NLS.

Я протестировал его с версией eclipse-cs 5.5, исправив файл jar для плагина, и он работает довольно хорошо.

...