EMF/EMF 2.3/New Features Migration Guide
This migration guide is meant to deal with any problems that might arise out of the ashes of bug 106804, "rearrange the features to minimize external dependencies".
Should you have additional issues after reading this guide, please do not hesitate to comment in bug 106804. See also bug 189295 for discussion about EMF features in Europa.
If you're an end-user
As a user of EMF, you probably get your EMF bits from one of two places: downloaded zips or Update Manager jars. If you don't know you use EMF (or use something that uses EMF, like GMF) this section applies to you.
If you use zips
If you normally update your version of EMF by downloading a new zip, then continue doing so.
If you use Update Manager
If you normally use Update Manager to get your updates automatically, you'll now (and in future) be able to update using '
Help > Software Updates > Find and Install... > Search for updates...' but because features have changed, you may end up with only a partial update this time. Subsequent updates should be fine. See also bug 132450.
To complete the update and get any missing features you normally use, run Update Manager again but this time use '
Help > Software Updates > Find and Install... > Search for new features...' and add the following Update Site URL: http://download.eclipse.org/modeling/emf/updates/site-interim.xml. This will allow you to find the new features and install them. You can also perform an update using a policy file if you prefer, using a policy file like this one: http://download.eclipse.org/modeling/emf/updates/policy.xml.
If you're a developer
As a developer who uses EMF as a dependency in your product / feature(s) / plugin(s), you will need to follow one of the two steps below.
If you depend on plugins...
If you use EMF, SDO, or XSD plugins, you should not need to do anything to migrate from to 2.3M6 to 2.3M7. If you're moving up from EMF 2.2 to 2.3, see the EMF 2.3 Adoption guide.
If you depend on features...
If you use EMF, SDO, or XSD features, you may have to change how your plugins and feature require EMF, SDO, and XSD. Changes may include:
- Change your features to depending on plugins only, not features. Note that as of Eclipse 3.3M7, Update Manager can finally resolve feature-to-feature-to-plugin dependency resolution when you hit 'Select Required'. See bugs 132450, 174056, 154505, 175004, 131810...
- Change which features you depend on so as to include all the upstream code you need
- Add new features to include any upstream code you need which is now missing
When installing via Update Manager, be aware of the Filter features included in other features on the list checkbox. If checked, you will only see macro-level features. If unchecked, you will see the smaller features included in those features. This will allow you to, for example, install the parts of EMF that do not require JDT or PDE.
Unfiltered List -- All Features
Filtered List -- Subset of Features
Below is a comparison chart showing how the organization of features and plugins has changed as of 2.3M7, in order to ease your migration efforts. Please note example and test features and plugins have been omitted for simplicity (and because they have not changed).
EMF 2.3M6 vs. 2.3M7
|EMF 2.2.x through EMF 2.3M6||EMF 2.3M7+|
org.eclipse.emf.sdk (contains EMF, SDO, XSD) org.eclipse.emf org.eclipse.emf org.eclipse.emf.ant org.eclipse.emf.codegen org.eclipse.emf.codegen.ui org.eclipse.emf.codegen.ecore org.eclipse.emf.codegen.ecore.ui org.eclipse.emf.common org.eclipse.emf.common.ui org.eclipse.emf.converter org.eclipse.emf.importer org.eclipse.emf.importer.ecore org.eclipse.emf.importer.java org.eclipse.emf.importer.rose org.eclipse.emf.exporter org.eclipse.emf.ecore org.eclipse.emf.ecore.edit org.eclipse.emf.ecore.editor org.eclipse.emf.ecore.change org.eclipse.emf.ecore.change.edit org.eclipse.emf.ecore.xmi org.eclipse.emf.edit org.eclipse.emf.edit.ui org.eclipse.emf.mapping org.eclipse.emf.mapping.ui org.eclipse.emf.mapping.ecore2ecore org.eclipse.emf.mapping.ecore2ecore.editor org.eclipse.emf.mapping.ecore2xml org.eclipse.emf.mapping.ecore2xml.ui org.eclipse.emf.source org.eclipse.emf.source (all EMF sources) org.eclipse.emf.doc org.eclipse.emf.doc
org.eclipse.emf.sdk (now contains only EMF) org.eclipse.emf org.eclipse.emf org.eclipse.emf.codegen org.eclipse.emf.codegen org.eclipse.emf.codegen.ui org.eclipse.emf.codegen.ui org.eclipse.emf.codegen.ecore org.eclipse.emf.ant org.eclipse.emf.codegen.ecore org.eclipse.emf.codegen.ecore.ui org.eclipse.emf.codegen.ecore.ui org.eclipse.emf.common org.eclipse.emf.common org.eclipse.emf.common.ui org.eclipse.emf.common.ui org.eclipse.emf.converter org.eclipse.emf.converter org.eclipse.emf.importer org.eclipse.emf.importer.ecore org.eclipse.emf.importer.java org.eclipse.emf.importer.rose org.eclipse.emf.exporter org.eclipse.emf.ecore org.eclipse.emf.ecore org.eclipse.emf.ecore.change org.eclipse.emf.ecore.xmi org.eclipse.emf.ecore.edit org.eclipse.emf.ecore.edit org.eclipse.emf.ecore.change.edit org.eclipse.emf.ecore.editor org.eclipse.emf.ecore.editor org.eclipse.emf.edit org.eclipse.emf.edit org.eclipse.emf.edit.ui org.eclipse.emf.edit.ui org.eclipse.emf.mapping org.eclipse.emf.mapping org.eclipse.emf.mapping.ui org.eclipse.emf.mapping.ui org.eclipse.emf.mapping.ecore org.eclipse.emf.mapping.ecore2ecore org.eclipse.emf.mapping.ecore2xml org.eclipse.emf.mapping.ecore.editor org.eclipse.emf.mapping.ecore2ecore.editor org.eclipse.emf.mapping.ecore2xml.ui org.eclipse.emf.source org.eclipse.emf.source (all EMF sources) org.eclipse.emf.doc org.eclipse.emf.doc
|SDO 2.2.x through SDO 2.3M6||SDO 2.3M7+|
org.eclipse.emf.sdk (contains EMF, SDO, XSD) org.eclipse.emf.ecore.sdo org.eclipse.emf.ecore.sdo org.eclipse.emf.commonj.sdo org.eclipse.emf.ecore.sdo.edit org.eclipse.emf.ecore.sdo.editor org.eclipse.emf.ecore.sdo.source org.eclipse.emf.ecore.sdo.source (all SDO sources) org.eclipse.emf.ecore.sdo.doc org.eclipse.emf.ecore.sdo.doc
org.eclipse.emf.ecore.sdo.sdk (new feature: contains all SDO features) org.eclipse.emf.ecore.sdo org.eclipse.emf.commonj.sdo org.eclipse.emf.ecore.sdo org.eclipse.emf.ecore.sdo.edit org.eclipse.emf.ecore.sdo.edit org.eclipse.emf.ecore.sdo.editor org.eclipse.emf.ecore.sdo.editor org.eclipse.emf.ecore.sdo.source org.eclipse.emf.ecore.sdo.source (all SDO sources) org.eclipse.emf.ecore.sdo.doc org.eclipse.emf.ecore.sdo.doc
|XSD 2.2.x through XSD 2.3M6||XSD 2.3M7+|
org.eclipse.emf.sdk (contains EMF, SDO, XSD) org.eclipse.xsd org.eclipse.xsd org.eclipse.xsd.edit org.eclipse.xsd.editor org.eclipse.emf.mapping.xsd2ecore org.eclipse.emf.mapping.xsd2ecore.editor org.eclipse.xsd.ecore.importer org.eclipse.xsd.ecore.exporter org.eclipse.xsd.source org.eclipse.xsd.source (all XSD sources) org.eclipse.xsd.doc org.eclipse.xsd.doc
org.eclipse.xsd.sdk (new feature: contains all XSD features) org.eclipse.xsd org.eclipse.xsd org.eclipse.xsd.edit org.eclipse.xsd.edit org.eclipse.xsd.editor org.eclipse.xsd.editor org.eclipse.xsd.mapping org.eclipse.emf.mapping.xsd2ecore org.eclipse.xsd.mapping.editor org.eclipse.emf.mapping.xsd2ecore.editor org.eclipse.xsd.ecore.converter org.eclipse.xsd.ecore.importer org.eclipse.xsd.ecore.exporter org.eclipse.xsd.source org.eclipse.xsd.source (all XSD sources) org.eclipse.xsd.doc org.eclipse.xsd.doc
EMF 2.2 vs. 2.3
From 2.2 to 2.3, the following test plugins were added to feature org.eclipse.emf.test:
The following example plugins were added to feature org.eclipse.emf.examples:
Beyond these changes, feature-to-plugin composition between EMF 2.2 and 2.3M6 was unchanged. See the above section for feature composition changes in 2.3M7.