[
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