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