次のような構造のエンタープライズ プロジェクト用のマルチモジュール Maven ビルドがあります。
-- Parent
-- Documentation
-- Child1
-- src/main/java
-- src/main/assembly/assembly.xml
-- pom.xml
-- Child2
-- src/main/java
-- src/main/assembly/assembly.xml
-- pom.xml
-- pom.xml (parent project)
Child1 は war を作成し、アセンブリは jetty をダウンロードして 2 つを一緒に zip に追加します。
子 2 が jar と Tanuki サービス スクリプトを作成し、アセンブリがそれらをすべて圧縮します。
これら 2 つの zip とドキュメント フォルダーの内容を 1 つの zip に追加して、クライアントに提供したいと考えています。
そのために、アセンブリのアセンブリを行う 3 番目のモジュールを追加しました。
assembly.xml は次のようになります。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<moduleSets>
<moduleSet>
<includeSubModules>false</includeSubModules>
<!-- Enable access to all projects in the current multi-module build! -->
<useAllReactorProjects>true</useAllReactorProjects>
<!-- Now, select which projects to include in this module-set. -->
<includes>
<include>org.test:Parent</include>
</includes>
<sources>
<outputDirectoryMapping>.</outputDirectoryMapping>
<fileSets>
<fileSet>
<directory>Documentation</directory>
<includes>
<include>README*</include>
</includes>
</fileSet>
</fileSets>
</sources>
</moduleSet>
<moduleSet>
<includeSubModules>false</includeSubModules>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>org.test:child1</include>
</includes>
<binaries>
<unpack>false</unpack>
<includes>
<include>*.zip</include>
</includes>
</binaries>
</moduleSet>
</moduleSets>
</assembly>
最初の部分では、ドキュメントを zip に入れても問題ありませんが、バイナリ セクションは機能しません。バイナリ セクションでインクルードを指定しないと、最終的な zip に jar と war が含まれてしまいます。これらは子zipにあるため、最終zipには入れたくありません。
子zipを最終zipに入れるにはどうすればよいですか?