| Summary: | p2 does not respect non-JAR bundle containers via "Bundle File Factory Hook" | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | R. Oldenburg <roland.oldenburg> |
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | dj.houghton, pascal |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | stalebug | ||
| Attachments: | |||
|
Description
R. Oldenburg
Created attachment 203890 [details]
patches on frameworkadmin.equinox to avoid exceptions on proprietary bundle containers
patches are marked with XXX comments
Created attachment 203891 [details]
patches on simpleconfigurator.manipulator to avoid exceptions on proprietary bundle containers
patches (marked with XXX)
In the meantime I encountered some further (or better: additional) problems on using p2 for non-JAR bundle containers. The inital p2 installation of non-jar bundles is working for me with the attached patches. (Although I am still hoping for a solution which saves me from patching eclipse bundles). But when *updating* such an installation with some new non-jar-bundles, SimpleConfiguratorManipulator still has problems with creating the "bundles.info". And this time (within SimpleConfiguratorManipulatorImpl.updateBundles()) the manifest string is empty in the created BundleInfo (which is inevitable as these BundleInfos seem to be created from the already existing initially parsed "bundles.info", which obviously does not contain the manifest info). I really hoped, it would be possible to instrument the StorageHook (also part of the adaptor hooks) in order to adapt the capabilities at least for the EclipseStorageHook.getManifest() method. (Which seems to be the problem currently) It's a pity that EclipseStorageHook is implemented as *final*. I tried working around by delegating from my impl of StorageHook. But doing that resulted in some ClassCastExceptions because there are some routines which do a straight cast from StorageHook to EclipseStorageHook... By the time I am getting short on ideas... Did I miss something? Ok, I couldn't leave it that way... So i played around. As EquinoxBundlesState itself has a BundleContext it is possible to query that instance for all (already known) installed bundles which in fact allows me to get the (current, already loaded and supposedly cached) manifest. So I re-attach my extended patches to this bug. I should mention: I currently work on Helios SR1 because this is our current productive environment. ASAP I will try to get these patches working for Indigo. Maybe I am doing some major mistakes with this solution ... but ... actually it is working. But then again maybe we are currently the only ones using the Base Adaptor Hooks for non-JAR bundle containers. Any comment is appreciated. :-) Have fun! Created attachment 204074 [details]
patches on frameworkadmin.equinox to avoid exceptions on proprietary bundle containers
Created attachment 204075 [details]
patches on simpleconfigurator.manipulator to avoid exceptions on proprietary bundle containers
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. -- The automated Eclipse Genie. |