Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
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.
Contents
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:
- org.eclipse.emf.test.common
- org.eclipse.test.examples
The following example plugins were added to feature org.eclipse.emf.examples:
- org.eclipse.emf.examples.source
- org.eclipse.emf.examples.generator.validator
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.
See also:

