Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-papyrus.dev] Attention: Papyrus Refactorings for Neon M5 are Live

Hi, Team,

The first wave of API refactorings for the Neon release is pushed to the master branch. I call your attention to some highlights, below, that I think are of particular importance for developers to ensure your uninterrupted productivity (or so I hope). Full details of changes required in clients to adapt to these API changes are provided by the Migration Guide.

These are all of the refactorings planned for the M5 milestone. More will follow in M6.

Note that all code in the papyrus.git repository that is currently being built by the master branch builds is already refactored. No refactoring actions are required of you unless:

  • you have commits in progress in your local repo that you have not yet pushed to Eclipse. You will have to rebase and apply the necessary API refactorings (if any) to your changes
  • your code is in a different repository, for example the SysML repository. When you target your builds against the next nightly build of Papyrus (or the Neon M5 milestone), you will have to applied the necessary API refactorings

Please do be sure to pull these changes as soon as you are able so that we can get as much testing as possible on them before the milestone build. And, if you install nightly builds in your PDE target, please do that as soon as you can.

Thanks,

Christian


Migration highlights

Bundles renamed

Most significant is the renaming of some bundles:

  • org.eclipse.papyrus.views.properties.model
  • org.eclipse.papyrus.views.properties.model.edit
  • org.eclipse.papyrus.views.properties.model.editor

are renamed as

  • org.eclipse.papyrus.infra.properties
  • org.eclipse.papyrus.infra.properties.edit
  • org.eclipse.papyrus.infra.properties.editor

because this EMF model is used extensively by Infra Layer bundles, and it makes sense in that layer anyways. The packages in this bundle are similarly renamed (substitute infra for views).

Note that because these bundles are actually renamed, p2.inf files are added to them to teach the Equinox p2 updater about their previous names. This should ensure that an upgrade of your PDE Target using Oomph or, of your Papyrus workbench installation, will proceed normally and actually replace the old bundles instead of just adding the new ones. Having both sets of bundles causes all kinds of trouble owing to EMF registration clashes. If you have any trouble with this, for example if you end up with an installation that has both the old and new bundles provisioned, please let me know.

New bundles

There are several new bundles added, usually to separate UI-dependent APIs from headless APIs that previously were packaged together. If you work by importing all of the source projects into a workspace, instead of installing nightlies of Papyrus in your PDE target, then you will need all of these new bundles in order to ensure (a) correct compile and (b) correct run-time behaviour:

  • org.eclipse.papyrus.infra.constraints.ui
  • org.eclipse.papyrus.infra.elementtypesconfigurations.ui
  • org.eclipse.papyrus.infra.extendedtypes.ui
  • org.eclipse.papyrus.infra.gmfdiag.gef — GEF 3 integration for the editor
  • org.eclipse.papyrus.infra.onefile.ui
  • org.eclipse.papyrus.infra.sashwindows.di — the DI/Sash model
  • org.eclipse.papyrus.infra.services.edit.ui
  • org.eclipse.papyrus.infra.ui.emf
  • org.eclipse.papyrus.infra.ui
  • org.eclipse.papyrus.uml.ui — required to properly support the Infra Layer refactorings

The org.eclipse.papyrus.infra.ui bundle is not strictly new, but previously it didn’t have any APIs for other Papyrus UI components to use, so you might have entirely missed it. Now it has lots.

Corresponding new test bundles:

  • org.eclipse.papyrus.infra.elementypesconfigurations.ui.tests
  • org.eclipse.papyrus.infra.extendedtypes.ui.tests
  • org.eclipse.papyrus.infra.services.edit.ui.tests
  • org.eclipse.papyrus.infra.services.semantic.tests
  • org.eclipse.papyrus.infra.ui.emf.tests
  • org.eclipse.papyrus.infra.ui.tests

New features:

  • org.eclipse.papyrus.infra.ui.feature
  • org.eclipse.papyrus.uml.ui.feature

Back to the top