2

p2 を使用せずに Tycho を使用して、依存関係をダウンロードしたり、結果のアーティファクトを公開したりすることは可能ですか?

私はすでにすべての依存関係を含む Maven リポジトリを持っていますが、これらの osgi プロジェクトをコンパイルするためだけに、重複したアーティファクトを含む p2 リポジトリを持ちたくありません。結果のアーティファクトを同じMavenリポジトリに公開して、Mavenリポジトリとp2リポジトリの代わりに実際の集中型リポジトリを持つことができるようにしたい

基本的に、ビルドから p2 の必要性を取り除きたいと思います。

tycho の代わりに POM ファーストのツールを使用することが 1 つのオプションであることはわかっていますが、問題は、プロジェクトが既に PDE を使用して開発されているため、これはオプションのようには思えません。

4

2 に答える 2

3

Tycho は Maven リポジトリで OSGi バンドルを非常に簡単に使用できます。pom.xml で GAV によってバンドルへの依存関係を指定し、pomDependencies=considerオプションを設定するだけです (このドキュメントを参照してください)。Tycho は、依存関係の解決、コンパイル、RCP アセンブリなど、すべてのビルド ステップでこれらのアーティファクトを取得します。

注意が必要なのは、推移的な依存関係です。TychopomDependency=considerがビルドするすべてのアーティファクトについて、アーティファクトのすべての推移的な依存関係をターゲット プラットフォームに対して解決できる必要があります。を使用pomDependency=considerすると、Tycho は GAV アーティファクトとそれらのすべての推移的な Maven 依存関係をターゲット プラットフォームに追加しますが、アーティファクトが OSGi バンドルである場合に限ります (したがって、「考慮する」)。Maven の依存関係の 1 つが OSGi バンドルでない場合、そのライブラリはターゲット プラットフォームにないため、(OSGi 空間での) Tycho の依存関係の解決が失敗する可能性があります。

質問の 2 番目の部分は、Maven リポジトリを介して Tycho アーティファクトを配布することについてでした。Tycho アーティファクトを Maven リポジトリにデプロイすることは可能ですが、これらのアーティファクトは Maven の世界では特に有用ではありません。これは、通常、Tycho のアーティファクトは POM に依存関係がないためです。そのため、Maven ビルドから (または同様に を介してpomDependency=consider) Tycho アーティファクトを使用するには、プロジェクトの POM を使用する際に Tycho アーティファクトのすべての依存関係を手動でリストする必要があります。

于 2012-08-14T12:08:35.160 に答える
1

Tycho に POM の依存関係を使用するように指示することは可能です。私が知る限り、唯一の「落とし穴」は、eclipse-repository パッケージ タイプを使用して RCP アプリケーションを構築する場合、これらがまだ p2 リポジトリにある必要があるということです。

于 2012-07-31T10:35:27.497 に答える