| Summary: | Changed behavior when specifying runtime library in plugin.xml | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Nadeem Aboobaker <nadeem.aboobaker> |
| Component: | Runtime | Assignee: | platform-runtime-inbox <platform-runtime-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | pwebster, tjwatson |
| Version: | 3.7 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Nadeem Aboobaker
We intentionally fixed a security bug that this "feature" was exploiting. If you have a common library that several bundles need then why not have it packages in a single bundle which your other bundles can depend on? *** This bug has been marked as a duplicate of bug 342114 *** Thanks for the answer to my question. Now that I know it was intentional, I can go about converting the usage runtime libraries in plugin.xml to bundle classpath entries in manifest.mf. As for your suggestion, my issue isn't about having multiple bundles vs. a single bundle, it's about referencing jars outside of the bundle. My use case is that we have our runtime jars that are shared by multiple components of our product, with one of those components being our Eclipse tooling. So, we can't move those jars into our bundles. We could make copies of the jars in our bundles, but having multiple copies of the jars floating around isn't ideal. I know that I can use the "external" keyword for Bundle-Classpath entries in the manifest.mf file. But in Bug 342114, you made a comment "We do not support adding classpath entries that are outside of the content of our bundle." You also made a comment about it breaking modularity and strongly advise against using "external" in Bug 109743. So, am I at the "last resort" point and use "external" or is there something else I can try? (In reply to comment #2) > So, am I at the "last resort" > point and use "external" or is there something else I can try? Sorry, it seems you are at the last resort option. If you cannot move the jar into a bundle at all then this is the only option I can think of at the moment. (In reply to comment #2) > As for your suggestion, my issue isn't about having multiple bundles vs. a > single bundle, it's about referencing jars outside of the bundle. My use case > is that we have our runtime jars that are shared by multiple components of our > product, with one of those components being our Eclipse tooling. So, we can't > move those jars into our bundles. We could make copies of the jars in our > bundles, but having multiple copies of the jars floating around isn't ideal. Another suggestion (you might not be able to take advantage of it) is to provide OSGi manifests for all of the other jars in your product. As far as the rest of your product is concerned, they'll just be jars with extra headers in the MANIFEST.MF. But when installed into OSGi/eclipse, they'll be full participants without needing hacks. This only works if providing manifests doesn't cause inter-jar classpath issues in the jars themselves. PW |