Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF/EMF 2.3/New Features Migration Guide"

< EMF‎ | EMF 2.3
m (EMF 2.2 vs. 2.3)
(add end-user section)
Line 3: Line 3:
 
Should you have additional issues after reading this guide, please do not hesitate to comment in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=106804 bug 106804].
 
Should you have additional issues after reading this guide, please do not hesitate to comment in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=106804 bug 106804].
  
== If you depend on plugins... ==
+
== If you're an end-user ==
 +
 
 +
As a user of EMF, you probably get your EMF bits from one of two places: [http://www.eclipse.org/modeling/emf/downloads/?project=emf downloaded zips] or [http://www.eclipse.org/modeling/emf/updates/ 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 via 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 partially using '<code>Help > Software Updates > Find and Install... > Search for updates...</code>' but because [[#EMF_2.3M6_vs._2.3M7 | features have changed]], you may end up with only a partial update '''''this time'''''. Subsequent updates should be fine. See also [https://bugs.eclipse.org/bugs/show_bug.cgi?id=132450 bug 132450].
 +
 
 +
To complete the update and get any missing features you normally use, run Update Manager again but this time use '<code>Help > Software Updates > Find and Install... > Search for new features...</code>' and add the following Update Site URL: [http://download.eclipse.org/modeling/emf/updates/site-interim.xml http://download.eclipse.org/modeling/emf/updates/site-interim.xml]. This will allow you to find the [[#EMF_2.3M6_vs._2.3M7 | new features]] and install them. You can also [[Testing_Pre-Release_Builds_Via_Policy_Files | 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 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 / plugin, you most likely depend on EMF features or plugins in your own features. Depending on how you define your dependencies, you will need to follow one of the two steps below.
 +
 
 +
=== If you depend on plugins... ===
  
 
If you use EMF, SDO, or XSD <b style="color:darkgreen">plugins</b>, 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 use EMF, SDO, or XSD <b style="color:darkgreen">plugins</b>, 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 depend on features... ===
  
 
If you use EMF, SDO, or XSD ''<b style="color:orange">features</b>'', you may have to change how your plugins and feature require EMF, SDO, and XSD. Changes may include:
 
If you use EMF, SDO, or XSD ''<b style="color:orange">features</b>'', you may have to change how your plugins and feature require EMF, SDO, and XSD. Changes may include:
Line 17: Line 35:
 
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).  
 
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.3M6 vs. 2.3M7 ====
  
 
<table>
 
<table>
Line 183: Line 201:
 
</td></tr></table>
 
</td></tr></table>
  
=== EMF 2.2 vs. 2.3 ===
+
==== EMF 2.2 vs. 2.3 ====
  
 
From 2.2 to 2.3, the following test plugins were added to feature ''org.eclipse.emf.test'':
 
From 2.2 to 2.3, the following test plugins were added to feature ''org.eclipse.emf.test'':

Revision as of 00:43, 19 May 2007

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'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 via 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 partially 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 / plugin, you most likely depend on EMF features or plugins in your own features. Depending on how you define your dependencies, 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

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:

Back to the top