Я использую в проекте контрольный стиль и определил SuppressionFilter в моей конфигурации контрольного стиля. Я использую Apache ant для автоматической сборки через Continuous Integration.
Мои проблемы возникают из-за следующей ситуации: я не хочу заполнять слишком много файлов в базе данных проекта, поэтому checkstyle.xml и suppressions.xml находятся в подкаталоге с именем conf (для конфигурации для сборки) , Теперь Ant и Eclipse работают по-разному для поиска suppressions.xml.
Ant использует project-basedir в качестве basedir для поиска файла suppressions.xml, после того как я объявил ant-задачу для поиска checkstyle.xml с базовой конфигурацией checkstyle. Этот checkstyle.xml теперь содержит следующее:
<module name="SuppressionFilter">
<property name="file" value="conf/suppressions.xml"/>
</module>
Таким образом, ant-build находит файл suppressions.xml, потому что baseir сборки - это каталог проекта.
Теперь использование checkstyle-plugin для Eclipse приносит проблему. Он ищет файл suppressions.xml, начиная с пути, который имеет checkstyle.xml (conf). Для Eclipse объявление должно было выглядеть так:
<module name="SuppressionFilter">
<property name="file" value="suppressions.xml"/>
</module>
РЕДАКТИРОВАТЬ: Даже это не работает, Eclipse, кажется, всегда нужен абсолютный путь.
Я хочу знать, как Eclipse и Ant могут работать с одной и той же конфигурацией checkstyle. Кто-то знает решение этой проблемы? Абсолютные пути не являются решением, потому что каждый разработчик и CI-Server имеют разные пути для каталога проекта.