|[cross-project-issues-dev] Changes to external format of bundle entry/resouce URLs comming in M5|
For the Galileo M5 build we have changed the external format of the bundle entry/resource URLs. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=252303
The external format of the bundle entry/resource URLs has never been considered API and the actual format has not been documented. Regardless, there may be some in the community that have come to depend on the format of the URLs. The format of the bundle resource URLs has been changed to encode a framework instance id in the URLs host.
Previously the bundle entry/resource URL hosts only included the bundle ID where the resource is located:
bundleresource://<bundle id>[ ':' <classpath index>]/<path to resource>
Now the host includes a framework instance id encoded in the host (i.e. <framewrok id>.<bundle id>). What this means to clients is the methods URL.getHost() and URL.toExternalForm() will now return Strings which always includes the framework id encoded in them. Any clients which have assumed that the URL host included a simple bundle ID will now be broken. We have always considered the scheme of the bundle resource URLs to be internal. The scheme is not specified by OSGi and the external format of the bundle resource URLs cannot be depended on from one framework to another framework implementation.
I am bringing this issue up to the community because others may have been making assumptions on the format of the bundle resource URLs. In general we think the number of folks impacted by this change to be very small. Please let the Equinox team know if you find any other issues with this change by commenting on bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=252303.
Back to the top