Tychoのeclipse-repository
パッケージ化タイプは、たとえばEclipseIDEに新しい機能をインストールするときにも使用するのと同じテクノロジー(p2と呼ばれる)を使用して製品ディストリビューションを構築します。これには、他のビルドテクノロジーとは異なり、製品に必要なバンドルのすべての依存関係を手動で指定する必要がないという利点がありますが、Tycho/p2はそれらを自動的に含めます。(これは重要です。そうしないと、バンドルが実行時に開始されないためです。)
一方、これも不利になる可能性があります。Tycho/ p2には、製品から除外したい特定のオプションの依存関係も含まれています。
オプションの依存関係を含めないようにTychoに指示するオプションはありません(p2にはこのオプションがないため)。ただし、次の構成を使用して、不要なオプションバンドルを特定し、それらをターゲットプラットフォームから明示的に除外することができます。
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<filters>
<filter>
<type>eclipse-plugin</type>
<id>unwanted.bundle.id</id>
<removeAll />
</filter>
</filters>
</configuration>
</plugin>
その後、製品ビルドは除外されたバンドルを認識できなくなり、インストールから除外されます。
注:上記の構成を追加した後に依存関係の解決エラーが発生した場合は、オプションではなくバンドルが必要なものがあります。読むのは少し難しいですが、エラーメッセージは、構築しているものから削除されたバンドルにつながる依存関係のチェーンを示します。