Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pde-dev] PluginModelManager and self hosting

Hi Wassim,
I've given this some more thought and the fact that only the target platform components are found is actually correct for my scenario. It would be incorrect to see the runtime.

So why do I want this? I'll try to give a short answer.
Buckminster is a tool that can materialize a workspace consisting of various different component types (plain Java, C/C++, PDE plugins, etc.) from disparate sources. The materialization is done in two phases:
1. Resolve a Component Query into what we call a Bill of Materials (BOM)
2. Use the BOM to fetch components into your workspace.

The first phase builds the BOM. It consists of a tree of component descriptors obtained by doing transitive discovery through something that we call a Resource Map. That map maintains the knowledge of where and how to search for components. Common places to search are the maven repository at IBiblio.org, the Eclipse update site, various CVS or SVN repostories, etc. One place that is also searched unless you explicitly tell Buckminster not to do that, is the target platform.

The BOM that is the result of the resolution, is not all that different from an Eclipse Team Project Set. It appoints locations where the components can be found. Buckminster can then build up a complete workspace from this BOM. It will do that in various ways. It might download Eclipse projects in source form, import projects from an update site, copying third-party jars into their correct locations in other projects etc. It will of course skip the materialization of components that resolved to the target platform but nevertheless, they are important to maintain.

For more information about Buckminster, please visit http://www.eclipse.org/buckminster.

Kind Regards,
Thomas Hallgren


Wassim Melhem wrote:
Any tips on how to get hold of a IPluginModelBase?

No easy way at the moment.

What are you doing with these models anyway?

I am currently working on exposing API to help access plug-in models.

So, if your use case is reasonable and can be addressed in a relatively
simple manner at our end, we could provide a static method that creates an
IPluginModelBase given a location or something...

Wassim.



Thomas Hallgren <thomas@xxxxxxx> Sent by: To pde-dev-bounces@e "Eclipse PDE general developers clipse.org list." <pde-dev@xxxxxxxxxxx> cc 01/11/2007 12:50 Subject PM Re: [pde-dev] PluginModelManager and self hosting Please respond to "Eclipse PDE general developers list." <pde-dev@eclipse. org>



Hi Wassim,
thanks. I kind of suspected that that was the case. The drawback of
using the runtime layer is that it will not give me the IPluginModelBase
that I want (I'm generating a Buckminster component spec from the info
found in it). I can probably write some code that does this from a
BundleDescription as well but I'd be glad if I can avoid it. Any tips on
how to get hold of a IPluginModelBase?

Regards,
Thomas Hallgren


Wassim Melhem wrote:
In every workspace, the PDE world of plug-ins consists of:
1.  the plug-ins in that workspace, and
2.  the plug-ins in the target platform as specified on the Plug-in
Development > Target Platform preference page of that workspace.

Therefore, when you are a runtime workbench,  the plug-ins from your host
workspace are neither part of #1 nor part of #2 of your runtime
workbench.
That is why you are not able to access them via PDE APIs.  Your target in
the runtime workbench is NOT the plug-ins you launched with,

If you want to inspect the running plug-ins in a runtime workbench, you
could use the Platform#getBundle(...) etc.  APIs from the runtime layer.

Wassim.





             Thomas Hallgren

             <thomas@xxxxxxx>

             Sent by:
To
             pde-dev-bounces@e         pde-dev@xxxxxxxxxxx

             clipse.org
cc
Subject
             01/10/2007 05:15          [pde-dev] PluginModelManager and

             PM                        self hosting

             Please respond to

               "Eclipse PDE

                  general

             developers list."

             <pde-dev@eclipse.

                   org>



Hi,
I'm using Eclipse 3.2.1 and the following piece of code to obtain the
ModelEntry for a plugin in my target environment. Normally this works
fine but in a self hosting scenario, it doesn't seem to find the bundles
that origin from the workspace or the launching IDE.

        PluginModelManager manager =
PDECore.getDefault().getModelManager();
        ModelEntry entry = manager.findEntry(componentName);

My "Eclipse Application" launch configuration has the "Launch with all
workspace and enabled plug-ins" checked and I have no errors in my
workspace.

Why does this happen?

Kind Regards,
Thomas Hallgren

_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev


_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev


_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev


_______________________________________________
pde-dev mailing list
pde-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/pde-dev



Back to the top