2015-05-08 10 views
0

Я хочу получить имя, которое будет иметь пакет после его установки из блока установки p2 перед его установкой.Bundlame установленного установочного модуля p2

Например, у меня есть группа функций Installable Unit со следующей функцией .xml.

<feature 
    id="com.xyz.example.feature" 
    label="Feature" 
    version="1.0.0.qualifier"> 

<plugin 
     id="com.xyz.example2" 
     download-size="0" 
     install-size="0" 
     version="0.0.0" 
     unpack="false"/> 

<plugin 
     id="com.xyz.example3" 
     download-size="0" 
     install-size="0" 
     version="0.0.0" 
     unpack="false"/> 

</feature> 

После установки Feature the Bundle будет иметь имя id, когда я перечислил все связки. Как я могу получить этот идентификатор программно из моего устанавливаемого модуля до его установки.

ответ

1

IIinstallableUnit интерфейс расширяет IVersionedId, что дает вам метод #getId. Для IU типа osgi.bundle идентификатор - это BSN (символическое имя пучка).

Проверить http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fequinox%2Fp2%2Fmetadata%2FIVersionedId.html

+0

Вызов #getId для моей группы IU возвращает Feature ID (com.xyz.example.feature.feature.group), а не Plugin ID (Bundle ID) – user9400824

+0

конечно, если вы спросите функциональная группа. вы должны спросить комплект iu –