Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 350015

Summary: Ensure that EMF pre 2.6 does not prevent CDO usage
Product: [Modeling] EMF Reporter: Cyril Jaquier <cyril.jaquier>
Component: cdo.coreAssignee: Eike Stepper <stepper>
Status: CLOSED FIXED QA Contact: Eike Stepper <stepper>
Severity: enhancement    
Priority: P3 CC: martin.fluegge, stepper
Version: 4.1   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard: Appealing to a Broader Community

Description Cyril Jaquier CLA 2011-06-22 04:17:16 EDT
Build Identifier: 4.0 GA

CDO 4 has some dependencies on EMF 2.6. However, the plugins still require an EMF version greater than or equal to 2.4. Thus one could think that CDO 4 is compliant with EMF 2.4 which is not the case.

Reproducible: Always
Comment 1 Eike Stepper CLA 2011-06-22 04:24:39 EDT
The only EMF version that we give guarantees to properly run with is the one we test with, i.e. 2.7 for CDO 4.0. The lower bounds in the manifests are a concession to those users who take the risk to try other *unsupported* version combinations. 

That said, we can decide to increase the current lower bound, but I'd need to better understand what exactly in EMF requires would justify this. Is it just a small subset of functionality that doesn't work with EMF 2.4+ or more?
Comment 2 Cyril Jaquier CLA 2011-06-22 09:50:27 EDT
(In reply to comment #1)
> The only EMF version that we give guarantees to properly run with is the one we
> test with, i.e. 2.7 for CDO 4.0. The lower bounds in the manifests are a
> concession to those users who take the risk to try other *unsupported* version
> combinations. 
> 
> That said, we can decide to increase the current lower bound, but I'd need to
> better understand what exactly in EMF requires would justify this. Is it just a
> small subset of functionality that doesn't work with EMF 2.4+ or more?

org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList which appeared in EMF 2.6 is required by CDOLegacyWrapper and CDOObjectWrapper.  CDO 4.0 will not compile without this version.

CDO 4.0 will not compile/work with EMF 2.4 so having this version has dependency makes no sense. Use 0.0.0 in this case. Either support a lower version of EMF or increase the minimum requirements to 2.6 at least which seems to be the version required to compile CDO 4.

Wouldn't it be possible to automate the testing with different EMF versions in Hudson?
Comment 3 Eike Stepper CLA 2011-06-23 03:56:46 EDT
Moving all open enhancement requests to 4.1
Comment 4 Eike Stepper CLA 2011-06-24 05:45:32 EDT
(In reply to comment #2)
> org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList
> which appeared in EMF 2.6 is required by CDOLegacyWrapper and CDOObjectWrapper.

We'll move all references to this class into CDOLegacyAdapter.

> CDO 4.0 will not compile without this version.

CDO is only required to compile with those dependency versions that are specified in our Buckminster RMAP. In particular:

CDO 4.1 only compiles against Eclipse 3.8 + EMF 2.8
CDO 4.0 only compiles against Eclipse 3.7 + EMF 2.7
CDO 3.0 only compiles against Eclipse 3.6 + EMF 2.6
CDO 2.0 only compiles against Eclipse 3.5 + EMF 2.5

> CDO 4.0 will not compile/work with EMF 2.4 so having this version has dependency makes no sense. 

We'll change CDO 4.1 to work with EMF pre 2.6, except that the legacy mode will not work then.

> Use 0.0.0 in this case. Either support a lower version of EMF or
> increase the minimum requirements to 2.6 at least which seems to be the version
> required to compile CDO 4.

Other users have previously requested to relax the lower version bound so that they, on their on risk, can *use* (not compile) CDO with older Eclipse/EMF versions.

> Wouldn't it be possible to automate the testing with different EMF versions in Hudson?

Certainly, but the effort is too high for us.
Comment 5 Eike Stepper CLA 2011-06-24 05:47:52 EDT
Committed revision 8378
Comment 6 Eike Stepper CLA 2012-09-21 07:16:04 EDT
Closing.