2

サイトhttps://wiki.eclipse.org/Tycho/Target_Platformから、次のように推測します。

  • 「リポジトリ」セクションに p2 リポジトリが含まれている場合、Tycho に関する限り、そのリポジトリ内のすべてが自動的にターゲット プラットフォームの一部と見なされます。
  • ターゲット定義ファイルが参照されている場合、tycho に関する限り、そのターゲット定義ファイル内のすべてがターゲット プラットフォームの一部と見なされます。

例のように、「リポジトリ」の下にhttp://download.eclipse.org/releases/indigoを指すリポジトリがあるとします。さらに、代わりにhttp://download.eclipse.org/releases/heliosを指すターゲット定義ファイルを宣言します。

Eclipse では、開発者はターゲット定義ファイルをターゲット プラットフォームとして使用します。個々のプラグイン プロジェクトの依存関係については、バンドルのバージョンがターゲット定義ファイルによって既に定義されているため、バージョンは定義されていません。

質問: Tycho は Indigo または Helios バージョンを使用してビルドしますか?

4

1 に答える 1

3

ターゲット プラットフォームには、Indigo と Helios の両方のコンテンツが含まれます。Target Platform wiki ページの引用:

複数のターゲット プラットフォーム構成アプローチが組み合わされている場合、ターゲット プラットフォームには、各アプローチで定義されたコンテンツの結合が含まれます。

したがって、依存関係の解決のために、Tycho は Indigo バンドル、Helios バンドル、またはこれらの混合を使用できます。

解決策は、要件を満たす有効なソリューションを見つける p2 プランナーに基づいています。複数のソリューションがある場合、p2 プランナーは新しいバンドル バージョンと推移的な依存関係の小さなセットを優先します。これらの設定はしばしば互いに矛盾します。たとえば、バンドルの新しいバージョンに推移的な依存関係のセットが多く含まれている場合などです。そのため、一般に、このような場合にどのバージョンが選択されるかを予測することは困難です。

したがって、バンドルが何に対してコンパイルされているかを知る必要がある場合は、利用可能なバージョンを適切に制限するターゲット プラットフォームを使用してください。

于 2014-02-10T09:32:22.073 に答える