2つのEclipse機能を備えた更新サイトがあると仮定します(それぞれに独自のプラグインがあります)。
- 主な特徴
- オプション機能(メイン機能によって異なります)
新しいバージョンでは、オプション機能のプラグインをメイン機能に折りたたむ必要があります。オプション機能はもう表示したくありません。
私が言ったように移動すると、これは新規インストールでは問題ありませんが、プラグインの正確なバージョンに依存する古い機能が残り、競合が発生するため、更新では問題があります。
オプション機能をメイン機能に含まれる機能として保持することもできますが、その場合でも、古いバージョンの機能を必要とする「オプションのFeature.feature.group」アーティファクトが残ります。
これで、オプション機能を更新サイトのルート機能として追加し直して、その「*.feature.group」を取得するためだけにユーザーに表示する必要があります。後で安全にアンインストールでき、名前と説明でそのことを示すことができますが、プロセス全体がやや面倒で、ユーザーにとって理解しにくいかもしれません。EclipseMarketplaceのインストールではおそらくさらに悪くなるでしょう。
非表示の(メイン機能に含まれている)ダミー機能をインストールするときに発生する単純化されたエラー例:
Your original request has been modified.
"Main Feature" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Main Feature 2 (main.feature.feature.group 2)
Software currently installed: Optional Feature 1 (optional.feature.feature.group 1)
Only one of the following can be installed at once:
Optional Feature Plug-in 1 (optional 1)
Optional Feature Plug-in 2 (optional 2)
Cannot satisfy dependency:
From: Optional Feature 1 (optional.feature.feature.group 1)
To: optional [1]
Cannot satisfy dependency:
From: Main Feature 2 (main.feature.feature.group 2)
To: optional [1]