Доступны ли externalized plugin.xml строки для последующих плагинов? - PullRequest
1 голос
/ 23 августа 2009

Если у меня есть общий плагин, с плагином A и B в качестве отдельных плагинов / продуктов, оба в зависимости от общего плагина.

В общем плагине я вывожу строки в plugin.xml, это дает мне% bundle-vendor = "Название моей компании".

В нижестоящих плагинах A и B можно ли использовать общее свойство bundle-vendor для vendor. Я пытался добавить общий идентификатор плагина, но он не работал. Разве это возможно?

Ответы [ 2 ]

0 голосов
/ 08 января 2010

Отличный ответ, Рич. Единственное, что я хотел бы добавить, - это предоставить пакет / класс в манифесте пакета, чтобы другие пакеты могли получить к нему доступ.

0 голосов
/ 23 августа 2009

Насколько я помню, плагин. Свойства недоступны за пределами плагина. Однако вы можете определить тип свойств (расширение org.eclipse.osgi.util.NLS) для автоматической загрузки файла свойств и предоставления их другим плагинам.

Каждое статическое свойство String в типе будет обработано из файла (ов) свойств в соответствии с правилами NLS и станет доступным.

Вот простой пример, который загрузит файл свойств и заполнит статические переменные some_property и some_other_property при загрузке класса.

public class ContentMessages extends NLS {

    private static final String BUNDLE_NAME = 
        "name.seller.rich.content.messages"; //$NON-NLS-1$

    public static String some_property;
    public static String some_other_property;

    static {
        // load message values from bundle file
        reloadMessages();
    }

    public static void reloadMessages() {
        NLS.initializeMessages(BUNDLE_NAME, ContentMessages.class);
    }
}
...