RCP 製品のバージョンをプログラムで確認したいと考えています。
IProduct オブジェクトを返す Platform.getProduct() メソッドを見つけました。ただし、これにはバージョンの詳細がありません。getDefiningBundle オブジェクトに移動できますが、.product ファイルのバージョン番号ではなく、プラグイン プロジェクトのバージョン ID しかありません。
どんなヒントでも大歓迎です。
@dystroyが述べたように、 IProductから入手できる唯一の製品バージョンは、定義/ブランディング バンドルのバージョンです。それらが一致する場合は、完了です。
最近では、製品バージョンは製品 IU 内の RCP アプリケーションの p2 プロファイルに保存されます。
eclipse -noSplash \
-application org.eclipse.equinox.p2.director \
-metadataRepository \
file://$(pwd)/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile \
-list | grep ^org.eclipse.sdk.ide
戻りますorg.eclipse.sdk.ide=4.2.2.M20121008-1100
。しかし、現在実行中のインスタンスの p2 プロファイルから IU を抽出するために必要な p2 ウィザードリがよくわかりません。