Community
Participate
Working Groups
Build Identifier: Bug 329452 addressed version ranges for service API imports that bundles also implemented. The floor was the current 4.3 version. The ceiling was the next minor version. This bug addresses adding version ranges to all OSGi API related imports. Here, the ceiling is the next major version. Adding version ranges to imports not related to the OSGi API will be addressed in another bug. For this bug, the floor will be established as follows. (1) If an import already specifies a version, that will become the floor. (2) If an import does not specify a version, the floor will be the current 4.3 version. Discovering the lowest valid floor will be addressed in another bug or bugs. Reproducible: Always
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.