rpm-maven-plugin を使用して、プロジェクトの WAR を含む tarball の rpm を作成しています。既に tar ファイルがある場合は、rpm を作成できます。ただし、rpm ゴールを実行するときに tar ファイルを生成したいと考えています。
tar ファイルを作成するスクリプトがあります。準備ステップでスクリプトを呼び出しますが、スクリプトの実行時に rpm が既に作成されているため、tar が rpm に含まれていません。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1-alpha-4</version>
<executions>
<execution>
<id>generate-rpm</id>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<mappings>
<mapping>
<directory>/foo</directory>
<sources>
<source>
<location>DIRECTORY_FOR_MY_TAR</location>
</source>
</sources>
</mapping>
</mappings>
<defineStatements>
<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
</defineStatements>
<prepareScriptlet>
<script>./../../../../scripts/rpm/prepare/makeATar.sh</script>
</prepareScriptlet>
</configuration>
</plugin>
mvn rpm:rpm
makeATar スクリプトを実行すると、DIRECTORY_FOR_MY_TAR に tar が作成されますが、rpm に含まれていません。もう一度実行mvn rpm:rpm
すると、tar は正常に rpm に含まれます (最後に実行したときに makeATar を実行したときに DIRECTORY_FOR_MY_TAR に入れられたためmvn rpm:rpm
)。