我们可以向ExtensionRegistry提供新的plugin.xml吗?

时间:2009-09-23 09:45:58

标签: eclipse registry osgi equinox

我有一些额外的xml文件(包含标准的eclipse扩展)位于bundle之外。有没有办法可以将这些文件中的extns / extnpoints贡献给平台的扩展注册表?

我试过

`Platform.getExtensionRegistry.addContribution(..)`

但是该方法采用了一个我无法访问的masterToken对象,没有它就会给我一个例外。

1 个答案:

答案 0 :(得分:0)

您必须使用一些内部方法。这是我的工作:

    IExtensionRegistry reg = Platform.getExtensionRegistry();
    Object ut = ((ExtensionRegistry)reg).getTemporaryUserToken();

    IContributor cont = ContributorFactoryOSGi.createContributor(Platform
            .getBundle(editor.getPluginId()));


    if (!reg.addContribution(is, cont, false, null, null, ut))
        Util.impossible("Contribution not added due to error"); //$NON-NLS-1$