Maven2マスターPOMにtattletaleレポートを追加しようとしています。
理想的には、レポートを1回だけ実行したいのですが、モジュールがコンパイルされるたびに実行されるようです。
tattletaleをマスターPOMに設定し、コードベース全体で1回だけ実行することは可能ですか?もしそうなら、誰かが私がこれを達成するようにPOMファイルの設定を提供できますか。
あなたが説明しているようなことをする1つの方法は、構成を親pomのMavenプロファイルに入れることです。次に、子モジュールをビルドするときに、そのプロファイルをオンデマンドでアクティブ化できます。たとえば、任意の war モジュールで使用できる定義済みの構成が必要な場合は、次のようにします。
<profile>
<id>tattletale-war</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jboss.tattletale</groupId>
<artifactId>tattletale-maven</artifactId>
<version>1.2.0.Beta2</version>
<executions>
<execution>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<source>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</source>
<destination>${project.build.directory}/reports</destination>
</configuration>
</plugin>
</plugins>
</build>
</profile>
次に、コマンドラインで必要なときにアクティブにします。
mvn クリーン パッケージ -P tattletale-war
Tattletale はアーティファクトに基づいてレポートを生成するので、Maven モジュール レベルでレポートを作成する必要があるということではないでしょうか?
私はマルチモジュールのMavenプロジェクトに取り組んでいます。私の計画は、プラグインを上部と下部で宣言し、レポートしたいモジュールごとに宣言することです。