| Summary: | Service impls should specify version ranges for all OSGi API related imports. | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | John Ross <jwross> | ||||||||
| Component: | Compendium | Assignee: | John Ross <jwross> | ||||||||
| Status: | CLOSED WONTFIX | QA Contact: | |||||||||
| Severity: | normal | ||||||||||
| Priority: | P3 | CC: | hargrave, tjwatson | ||||||||
| Version: | unspecified | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | stalebug | ||||||||||
| Attachments: |
|
||||||||||
|
Description
John Ross
Tom, would you please assign this to me? Gladly done. I think this bug should address adding version ranges to all imported package (where possible) not just the imports of org.osgi.* packages. (In reply to comment #3) > I think this bug should address adding version ranges to all imported package > (where possible) not just the imports of org.osgi.* packages. Agree, except in cases where we may get the package from the EE. Unfortunately we still need to use no range here. (In reply to comment #4) > (In reply to comment #3) > > I think this bug should address adding version ranges to all imported package > > (where possible) not just the imports of org.osgi.* packages. > > Agree, except in cases where we may get the package from the EE. Unfortunately > we still need to use no range here. That was the "where possible" escape clause. :-D Created attachment 182771 [details] Application Admin Patch 1 Okay, I'll use this for all imports and follow the rules for establishing the floor as laid out in the Description (comment 0). This is a patch for the Application Admin impl, which was not included in Bug 329452 because it should not import the service API it implements (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=329452#c9). I'll hold off on the rest until Bug 329452 is released in order to avoid overlapping patches. Created attachment 184680 [details]
Patch for all services 1
Includes the following services.
Application Admin
CM
Device
DS
Event
HTTP
HTTP Servlet
IO
IP
Log
MetaType
Preferences
User Admin
Wire Admin
Tom, some things I'd like to discuss while reviewing the patch.
(1)
The following bundles have javax imports.
HTTP
HTTP Servlet
IO
IP
MetaType
HTTP Servlet and IP specify versions, the others don't. MetaType has org.xml imports with no specified versions.
(2)
I know we discussed, as a default, not to specify the revision number as part of the range. But I left them where already specified just to do a sanity check with you before removing. These were CM, IP, and MetaType.
(3)
Wire Admin had no org.osgi.framework version specified, so i followed the rule and set it to the latest (i.e. 1.6). I'd be amazed, however, if this couldn't be safely set lower, perhaps all the way to 1.0.
Created attachment 184904 [details]
Patch for all services 2
Based on discussions with Tom, this patch incorporates the following changes.
(1)
For WireAdmin, the floor for org.osgi.framework was set to 1.3.
(2)
For HTTP, I set the range of the javax.servlet imports to [2.1,2.6). I left the javax.net import unspecified since that would be provided by the system bundle.
(3)
For HTTP Servlet, I set the ceiling of javax.servlet imports to 2.6.
(4)
For IP, I set the ceiling of javax.servlet imports to 3.0.
(5)
I modified the floor setting strategy as follows. If no version was previously specified, the floor defaults to 1.0 (with the exception of org.osgi.framework).
Not going to mess with this for 3.7. Move all 3.8 bugs to Juno. Not happening for Juno. Not happening in Kepler. 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. |