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