質問

機能があり、その ID を変更したいと考えています。ただし、これにより既存のインストールを更新できなくなります。その理由は次のとおりです。

  1. バージョン 1.0 の機能 F1 がバージョン 1.0 のプラグイン A で構成されていると仮定します。
  2. ここで、バージョン 1.1 のプラグイン A を使用する機能 F2 をバージョン 1.1 にしたいと考えています。
  3. F2 をインストールすると、バージョン 1.0 のプラグイン A を必要とする機能 F1 がすでに存在するため、プラグイン A 1.1 をインストールするとその依存関係が無効になるというエラーが表示されます。

F2 が F1 を置き換えることを示す方法を探しています。どうやってやるの?

役に立ちましたか?

解決

私はあなたがP2を使用していると仮定しています。

あなたが/エクスポートP2を使用して機能<のhref = "http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_p2_featuremetadataを構築する場合。 HTM」のrel = "nofollowをnoreferrer">メタデータの、結果としてcontent.xml(.jarファイル)は、次のようなものが含まれています:

<unit id='f.feature.group' version='1.0.0' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0)' severity='0'/>
  ...
</unit>

この<update>要素は、この1つは更新する機能の以前のバージョンを指定します。あなたは上記を参照として既存のメタデータ生成ツールは、これを設定します。

私は、プラグインを含んでいる「F」「1.0.0」機能を作成し、メタデータをエクスポートして、私のEclipseにその機能をインストールしました。私はプラグイン「2.0.0」を含む特徴「G」を作成しました。私は同じリポジトリに再びこれを輸出しました。そして、私が行って、手動でcontent.xmlファイルを編集して、変更されます:

<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='g.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

タグに
<unit id='g.feature.group' version='1.0.0.200907061120' singleton='false'>
  <update id='f.feature.group' range='[0.0.0,1.0.0.200907061120)' severity='0'/>

は、その後、私の日食では、私は、「アップデートの確認」でした、そして、それは以前の「F」へのアップデートとして「G」を発見し、アップグレードを行いました。 (あなたがこれを行う必要があります使用可能なソフトウェアサイト設定ページで、「テスト接続」をやって、変更内容をピックアップして再ロードするリポジトリを強制する必要があるかもしれません)。

は、残念ながら、現在、あなたのためのアップデート要素を変更するには、エクスポート/ビルドプロセスを取得し実行する方法はありません、それは手動で編集する必要があります。私はこのバグを上げます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top