質問

とともに P2アリタスク, 、機能のためにプラグインをミラーリングするのは非常に簡単です。

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

役に立ちましたか?

解決

得られませんでした p2.mirror 働く;このタスクは、あまりにも多く(最後のものや特定のものに興味がある場合でも機能のすべてのバージョンのように)、および/または少なすぎる(機能だけでなく、依存関係はありません)のいずれかを反映しています。

私の解決策はこんな感じでした:

  1. Eclipseを開梱します eclipse-template
  2. asとしてコピーを作成します eclipse-install
  3. 機能をインストールします eclipse-install
  4. ステップ#1からバージョンに存在するコピー内のファイルを削除します(cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}").

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

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

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

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

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

ファイルをバージョン制御下に保ちます ターゲットエディターが時々台無しになるからです。

他のヒント

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

<!-- 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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top