2

Tychoを使用して機能ベースの製品を構築しています。ビルドは成功し、製品は正常に動作します。p2 update-siteを介して機能を更新したいのですが、機能していません。

私が気付いたのは、[ヘルプ]->[バージョン情報]->[インストールの詳細]をクリックすると、製品名がルート要素として表示され、すべての機能が子として表示されることです。そのため、機能をアンインストールしたり、更新したりすることができません。ルート要素のみをアンインストールできます。そして、これは製品全体であるため、私は明らかにこれをしたくありません。

Eclipse IDEでインストールの詳細ダイアログを表示すると、インストールされているすべての機能がルート要素として表示されます。そのため、個々の機能(EMF、Subversive、EGitなど)をアンインストールまたは更新できます。

では、なぜこれがTychoによって構築された製品と異なるのでしょうか。私の機能がインストールのトップレベルの要素でもないのはなぜですか?


チェックボックスを有効にしようとしましたが、この機能を更新したい機能を排他的にインストールする必要がありますが、これは役に立ちませんでした。

4

1 に答える 1

2

実際、EclipseIDEのすべての機能がルートレベルにインストールされているわけではありません。製品要素(「EclipseSDK」など)もあり、その製品には、製品とは関係なく更新またはアンインストールできない機能が含まれています。

それでも、あなたは有効なポイントを持っています:製品とは無関係にアンインストールまたは更新できるように、Tychoでルート要素として機能をインストールするにはどうすればよいですか?

これは、Tycho 0.20.0以降で可能です。製品の子要素として機能をインストールするか、ルート要素として機能をインストールするかを製品ファイルで指定できます。後者の場合、属性を追加する必要がありますinstallMode="root"

* .productファイルのスニペットの例:

<features>
   <feature id="product-child-element-feature"/>
   <feature id="root-element-feature" installMode="root"/>
</features>
于 2012-12-05T13:38:38.013 に答える