Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 337106 - Update all package import version ranges of H2 driver to < 2.0.0
Summary: Update all package import version ranges of H2 driver to < 2.0.0
Status: CLOSED FIXED
Alias: None
Product: EMF
Classification: Modeling
Component: cdo.core (show other bugs)
Version: 4.0   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Victor Roldan Betancort CLA
QA Contact: Eike Stepper CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-14 07:28 EST by Victor Roldan Betancort CLA
Modified: 2011-06-23 03:36 EDT (History)
1 user (show)

See Also:
stepper: review+


Attachments
patch v1 (4.40 KB, patch)
2011-02-14 07:30 EST, Victor Roldan Betancort CLA
no flags Details | Diff
Patch v2 - ready to be committed (4.40 KB, patch)
2011-02-15 11:05 EST, Eike Stepper CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Roldan Betancort CLA 2011-02-14 07:28:32 EST
Currently package imports of the H2 driver are specified as [1.1.0, 1.2.0).
Set it to [1.1.0, 2.0.0).
Comment 1 Victor Roldan Betancort CLA 2011-02-14 07:30:45 EST
Created attachment 188893 [details]
patch v1

changed version ranges
Comment 2 Eike Stepper CLA 2011-02-15 11:05:06 EST
I've changed the range to [1.0.0,2.0.0)
Comment 3 Eike Stepper CLA 2011-02-15 11:05:45 EST
Created attachment 189012 [details]
Patch v2 - ready to be committed
Comment 4 Victor Roldan Betancort CLA 2011-02-15 12:27:20 EST
Committed to TRUNK, Revision 7085
Comment 5 Gábor Nagy CLA 2011-03-01 04:07:24 EST
We also stumbled upon this issue on our project, thanks for fixing it!

One thing I'd like to note is that the official H2 release ships with an OSGI manifest, however the package exports are not versioned. Because the eclipse-packaged h2 manifest has versioned package exports, these seem to take precedence over the upstream h2 jar, if both are installed. Would you consider changing the dependency declaration to require bundle, so the upstream jar can be used as-is?
Comment 6 Gábor Nagy CLA 2011-03-01 04:09:09 EST
(In reply to comment #5)
> We also stumbled upon this issue on our project, thanks for fixing it!
> 
> One thing I'd like to note is that the official H2 release ships with an OSGI
> manifest, however the package exports are not versioned. Because the
> eclipse-packaged h2 manifest has versioned package exports, these seem to take
> precedence over the upstream h2 jar, if both are installed. Would you consider
> changing the dependency declaration to require bundle, so the upstream jar can
> be used as-is?

To clarify, the eclipse-packaged h2 jar takes precedence over upstream even if the former has a lower version.
Comment 7 Eike Stepper CLA 2011-03-01 04:15:36 EST
(In reply to comment #5)
> [...] Would you consider changing the dependency declaration to require 
> bundle, so the upstream jar can be used as-is?

The root cause of your problem is that the bundle manifest originally provided by the H2 maintainers is sloppy at best. We certainly don't want to decrease the quality of our own manifests to compensate that. Please submit an RFE to the H2 maintainers, similar to what I did for MongoDB:

   http://jira.mongodb.org/browse/JAVA-272

Generally we don't want to introduce implementation dependencies to third party components, i.e. Require-Bundle, as that would prevent users from plugging in their own H2 bundles.

In addition we're bound to what the Orbit project offers.
Comment 8 Gábor Nagy CLA 2011-03-03 09:11:56 EST
(In reply to comment #7)
> (In reply to comment #5)
> > [...] Would you consider changing the dependency declaration to require 
> > bundle, so the upstream jar can be used as-is?
> 
> The root cause of your problem is that the bundle manifest originally provided
> by the H2 maintainers is sloppy at best. We certainly don't want to decrease
> the quality of our own manifests to compensate that. Please submit an RFE to
> the H2 maintainers, similar to what I did for MongoDB:
> 
>    http://jira.mongodb.org/browse/JAVA-272
> 
> Generally we don't want to introduce implementation dependencies to third party
> components, i.e. Require-Bundle, as that would prevent users from plugging in
> their own H2 bundles.
> 
> In addition we're bound to what the Orbit project offers.

Issue submitted upstream:

http://code.google.com/p/h2database/issues/detail?id=294
Comment 9 Eike Stepper CLA 2011-03-04 00:49:13 EST
(In reply to comment #7)
> The root cause of your problem is that the bundle manifest originally provided
> by the H2 maintainers is sloppy at best.

I apologize for this obvious exaggeration! The H2 maintainers are very responsive to this issue and seem very interested in making the situation for OSGi users better ;-)

I recognize that issues with bundle manifests not always result from sloppyness but often from the complexity of the OSGi specification itself. To be a little more constructive, here is a link to a brief article that discusses some of the common misconceptions:

http://www.osgi.org/blog/2006/04/misconceptions-about-osgi-headers.html
Comment 10 Eike Stepper CLA 2011-06-23 03:36:54 EDT
Available in R20110608-1407