EMF/EMF 2.3/New Features Migration Guide

From Eclipsepedia

< EMF‎ | EMF 2.3
Jump to: navigation, search

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:

  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

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
Unfiltered List -- All Features
Filtered List -- Subset of 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: