Używam w projekcie checkstyle i mam zdefiniowane SuppressionFilter w mojej konfiguracji checkstyle. Używam mrówek Apache do tworzenia automatycznych kompilacji za pomocą ciągłej integracji.Jak zdefiniować suppressions-definicje dla checkstyle, które działają zarówno z ant i eclipse
Moje problemy wynikają z następującej sytuacji: Nie chcę wypełniać dużej ilości plików w projekcie opartym na projekcie, więc pliki checkstyle.xml i suppressions.xml znajdują się w podkatalogu o nazwie conf (dla konfiguracji dla kompilacji)). Teraz Ant i Eclipse działają inaczej, szukając suppressions.xml.
Ant korzysta z projectirodeir jako basedir w celu znalezienia suppressions.xml, po tym jak zadeklarowałem ant-task, aby znaleźć checkstyle.xml z podstawową konfiguracją checkstyle. Ten checkstyle.xml zawiera teraz następujące:
<module name="SuppressionFilter">
<property name="file" value="conf/suppressions.xml"/>
</module>
ten sposób mrówka-build znajdzie się suppressions.xml, ponieważ basedir z kompilacji jest projekt-katalog.
Teraz użycie funkcji checkstyle-plugin w programie Eclipse powoduje problem. Szuka suppressions.xml zaczynając od ścieżki, którą checkstyle.xml ma (conf). Dla Eclipse deklaracja musiała wyglądać tak, aby praca:
<module name="SuppressionFilter">
<property name="file" value="suppressions.xml"/>
</module>
EDIT: Nawet to nie zadziała, Eclipse wydaje się potrzeba zawsze ścieżki bezwzględnej.
Chciałbym wiedzieć, że zarówno Eclipse, jak i Ant mogą pracować z tą samą konfiguracją checkstyle. Ktoś zna rozwiązanie tego problemu? Ścieżki bezwzględne nie są rozwiązaniem, ponieważ każdy programista i serwer CI mają różne ścieżki do katalogu projektu.
Dzięki, że działa. Jedynym wyjątkiem jest mój błąd w opisie, Eclipse wydaje się potrzebować bezwzględnej ścieżki. – Mnementh