プロジェクトのcheckstyleで使用し、checkstyle-configurationでSuppressionFilterを定義しました。Apache antを使用して、継続的インテグレーションを介して自動ビルドを作成します。
私の問題は次の状況から来ています:プロジェクトベースのirに多くのファイルを入力したくないので、checkstyle.xmlとsuppressions.xmlは両方ともconfという名前のサブディレクトリにあります(ビルドの構成用)。現在、AntとEclipseは、suppressions.xmlを見つけるために異なる動作をします。
Antは、checkstyleの基本構成でcheckstyle.xmlを検索するant-taskを宣言した後、suppressions.xmlを検索するためのbasedirとしてproject-basedirを使用します。このcheckstyle.xmlには、次のものが含まれています。
<module name="SuppressionFilter">
<property name="file" value="conf/suppressions.xml"/>
</module>
このようにして、ビルドのベースはproject-directoryであるため、ant-buildはsuppressions.xmlを検出します。
Eclipseにcheckstyle-pluginを使用すると、問題が発生します。checkstyle.xmlが持つパス(conf)で始まるsuppressions.xmlを探します。Eclipseの場合、宣言は次のように機能する必要がありました。
<module name="SuppressionFilter">
<property name="file" value="suppressions.xml"/>
</module>
編集:それが機能しない場合でも、Eclipseには常に絶対パスが必要なようです。
EclipseとAntの両方が同じcheckstyle-configurationで動作できる方法を知りたいです。誰かがこの問題の解決策を知っていますか?すべての開発者とCIサーバーはプロジェクトディレクトリに対して異なるパスを持っているため、絶対パスは解決策ではありません。