私は親モジュールのすべての子であるいくつかのMavenモジュールで構成されるプロジェクトを持っています。 私は親がcheckstyleを使用するように設定しており、子モジュールはすべてこの動作を正しく継承しています。すべての子モジュールがそのプラグインで定義されている親抑制ファイルを使用したいと思います。 私は親のために正常に動作しますが、すべての子モジュールが理にかなってい彼らのbasedirにでファイルを検索しようのCheckstyleプラグインすべてのモジュールに対してMavenで単一のチェックスタイルの抑制ファイルを使用する方法
<properties>
<checkstyle.suppressions>${basedir}\src\checkstyle\suppressions.xml</checkstyle.suppressions>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.2</version>
<configuration>
<configLocation>config/sun_checks.xml</configLocation>
<suppressionsLocation>${checkstyle.suppressions}</suppressionsLocation>
<suppressionsFileExpression>${checkstyle.suppressions}</suppressionsFileExpression>
</configuration>
</plugin>
</plugins>
で使用されるプロパティcheckstyle.suppressionを定義します。
私は紛失している簡単な解決策があるに違いないと確信していますが、すべての子モジュールが親の場所をハードコードなしで使用するようにこの場所を定義する方法はありますか?
このリソースのBrianに感謝し、今後の使用のためにブックマークします: これは、開発者が任意の場所にチェックインできるという理由で、リソースの固定場所を定義したくないため、場所とビルドマシンも異なる場所とファイルシステムを持ちます。 この例のように、リソースはアセンブリプラグインを使用してバンドルされ、次に解凍され、子モジュールで使用されます。 ありがとう –
+1ローカルファイルシステム構造に依存する設定を避けるべきです –
このバグ:https://issues.apache.org/jira/browse/MCHECKSTYLE-228は現在、 'suppressions.xml'を使用することを不可能にしています。残念ながら、JARから。 –