Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-papyrus.dev] Papyrus Refactoring 0.10/Kepler

Hello all,

 

Last year, we’ve started the Papyrus refactoring, in order to get an architecture as clean as possible before the 1.0 version. The initial step had been to rename most plug-ins to have a consistent naming, and to better identify the dependencies between each set of plug-ins.

 

This  year, we’ll continue this refactoring, to reduce the coupling between plug-ins and reduce the code duplication (And, hopefully, the complexity).

 

Here are the steps for the refactoring:

 

-          Fix the core plug-ins of Papyrus (e.g. infra.core.*)

o   Remove all UML and GMF dependencies from these plug-ins. Replacement methods will be provided in external plug-ins (e.g. uml plug-ins for uml-dependent methods, gmfdiag plug-ins for gmf-dependent ones)

o   Implement a new version of the ServicesRegistry

-          Implement new services to reduce the couple for generic services (e.g. retrieve the semantic model root and libraries, instantiate technology-specific label providers, etc.)

-          Cleanup the deprecated code whenever a replacement is available (Especially in core components)

-          Cleanup all technology-specific components to remove unwished dependencies (e.g. hyperlink -> table) (Based on the new services)

-          Provide a migration guide for Papyrus extenders

 

It should make the core plug-ins of Papyrus more generic and easily extensible, which should help us (as well as Papyrus-extenders) integrating new technologies to Papyrus (Such as the EMF Facet tables, or non-UML diagrams).

 

The refactoring should be finished around the end of November (i.e. before Kepler M4).

 

I’ve just created a new tag on the SVN repository (0.10_Refactoring), to keep a stable version of the 0.10 branch during the transition. The refactoring modifications will be committed directly on the trunk.

 

Papyrus itself should not break during this phase, but for extenders, using the Papyrus Kepler nightly build is strongly discouraged. You should rely either on the Juno version, or on the 0.10_Refactoring tag if you’re using the sources . You can also rely on the Kepler M2 build.

 

 

391945: [Refactoring] Part 2: Refactoring on Kepler (0.10)

https://bugs.eclipse.org/bugs/show_bug.cgi?id=391945

 

 

Regards,
Camille

__________________________

Camille Letavernier

+33 (0)1 69 08 00 59 - camille.letavernier@xxxxxx

CEA LIST - Laboratoire d'Ingénierie dirigée par les modèles pour les Systèmes Embarqués (LISE)

Papyrus : http://www.eclipse.org/papyrus

 


Back to the top