1

p2 ant tasksを使用すると、機能のプラグインを簡単にミラーリングできます。

しかし、機能をインストールするために必要なすべてをミラーリングするにはどうすればよいでしょうか?

4

2 に答える 2

3

動作しませんでしp2.mirrorた。タスクは、ミラーリングが多すぎる(最後のバージョンまたは特定のバージョンにのみ関心がある場合でも、機能のすべてのバージョンのように)か、少なすぎる(機能だけで依存関係はない)かのいずれかです。

私の解決策は次のようなものでした:

  1. Eclipseを解凍してeclipse-template
  2. 次のようにコピーを作成しますeclipse-install
  3. に機能をインストールしますeclipse-install
  4. 手順1()のバージョンに存在するコピー内のファイルをすべて削除しますcd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}"

これで、機能ファイルとプラグインファイルが残ります。org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisherこれをp2リポジトリに変換するために使用します(詳細については、ドキュメントを参照してください)。

[UPDATE 2011-11-01]コマンドラインからこれを実行する必要がない場合は、別の解決策があります。

  1. Eclipseプロジェクトで「ターゲット定義」を作成します(新しいものを作成するか、既存のものを使用するかは関係ありません)
  2. この*.targetファイルに更新サイトを追加します
  3. 必要な機能を選択してください
  4. ターゲット定義エディターの右上隅(「ターゲットプラットフォームとして設定」の横)にある小さな「エクスポート」ボタンをクリックします。

これにより、選択したすべての機能と、選択した正確なバージョンに加えて、選択したフォルダー内のすべての依存関係がエクスポートされます。

ターゲットエディタは少し不器用で遅いですが、動作します。

ターゲットエディタが混乱することがあるため、ファイルをバージョン管理下に置いてください。

于 2011-07-29T11:43:11.993 に答える
0

次の Ant コードを使用して、2 つの機能を 1 つのリポジトリにミラーリングしています。

<!-- Creates single p2 repo from 2 repos -->
<p2.mirror>
    <repository location="file:///${DESTINATION}/repo-name" append="false"/>
    <source>
       <repository location="file:///${feature1-repo}/feature1"/>
       <repository location="file:///${feature2-repo}/feature2"/>
    </source>
</p2.mirror>

さらに、<iu>と機能の ID を使用して、ミラーリングする機能を指定できます。機能 ID は、次の方法で指定する必要があります。

your.feature.id.group.group.group 

機能に特定のプラットフォーム構成がある場合、IU は次のようになります。

your.feature.id.win32.win32.x86 (OS, Widget system, Architecture)
于 2011-06-15T13:43:24.617 に答える