Jump to: navigation, search

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.

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:

  1. 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...
  2. Change which features you depend on so as to include all the upstream code you need
  3. Add new features to include any upstream code you need which is now missing

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: