Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 423037

Summary: Move diagram-specific EClasses into a separate EPackage
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: DiagramAssignee: Laurent Redor <laurent.redor>
Status: CLOSED FIXED QA Contact: Maxime Porhel <maxime.porhel>
Severity: major    
Priority: P1 CC: florian.barbin, laurent.redor, maxime.porhel
Version: unspecifiedKeywords: triaged
Target Milestone: 1.0.0M5   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 423052, 427803    

Description Pierre-Charles David CLA 2013-12-03 09:33:39 EST
For historical reasons, the core Sirius metamodels defined in viewpoint.ecore contain both generic (dialect-independant like Viewpoint, RepresentationDescription, DAnalysis...) concepts and diagram-specific ones (e.g. DNode, EdgeStyle, ContainerCreationDescription...). The table and tree metamodels are more cleanly separated.

This ticket is a first step towards a full separation of the diagram-specific stuff out of the core of Sirius. The goal is "simply" to:
* create new EPackages inside the same viewpoint.ecore (we will need several EPackages to follow the separation between runtime concepts and VSM concepts, tools, styling etc.);
* identify diagram-specific concepts and move them there;
* provide the appropriate transparent migration.

The goal is *not* to create a separate diagram.ecore or to put all diagram-related code into a different plug-in; this will come later but first things first.

The goal is not either to fix other problems in the metamodel like removing deprecated stuff.
Comment 1 Laurent Redor CLA 2013-12-12 11:44:15 EST
A specific branch, named "bug/423037_SplitDiagramEPackage", has been created for this feature.
Comment 2 Laurent Redor CLA 2013-12-12 11:55:05 EST
A first step is to remove all the contents of src-gen folder and generate without any changes in order to have a clean base of code (including the javadoc contents and formatting). This step will allow us to facilitate the comparison after the splitting.

Commit : http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?h=bug/423037_SplitDiagramEPackage&id=48ea5d933dbd19e5328bd94f447ce7934cfbed01
Comment 3 Laurent Redor CLA 2013-12-20 04:13:57 EST
To facilitate the review of all impacted classes with this bugzilla, the job will be split in several commits. The first ones will not allow to compile all the plugins.
There will be:
* A commit to regenerate and clean org.eclipse.sirius.
* Then a
Comment 4 Laurent Redor CLA 2013-12-20 04:28:17 EST
As has already been done for org.eclipse.sirius, there are also steps to generate without any change in order to have a clean base of code (including the javadoc contents and formatting) for org.eclipse.sirius.ui [1] and org.eclipse.sirius.editor [2].

[1] http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?h=bug/423037_SplitDiagramEPackage&id=622aab973b1b8d65b9c71a120e1f127d2655b103
[2] http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?h=bug/423037_SplitDiagramEPackage&id=9ac5ecd5c5ea34d38fb79f0ea5658ed769297280
Comment 5 Laurent Redor CLA 2013-12-20 04:31:15 EST
The comment 3 is a mistake :(
Comment 6 Laurent Redor CLA 2013-12-20 04:35:05 EST
To facilitate the review of all impacted classes with this bugzilla, the job will be split in several commits. The first ones will not allow to compile all the plugins without error.
There will be:
* A first commit with 
** the creation of diagram EPackage in meta-model (and all corresponding classes) 
** the generation of Model classes (in org.eclipse.sirius)
** the fix of all compilation problems in org.eclipse.sirius (however the other Sirius plugins will contain compilation issues that will be fixed later).
* Then a commit to regenerate and clean org.eclipse.sirius.ui (however the other Sirius plugins will contain compilation issues that will be fixed later).
* Then a commit to regenerate and clean org.eclipse.sirius.editor (however the other Sirius plugins will contain compilation issues that will be fixed later).
* And finally a commit to fix all compilation issues in other Sirius plugins.
Comment 9 Laurent Redor CLA 2014-01-27 03:54:06 EST
Other commits have taken place to fix some bugs discovered through our tests. The branch was merged on master to be integrated in 1.0.0 M5. 
This ticket is resolved in 1.0.0 M5 even if it certainly remains some minor fixes concerning these changes that will be added in M6.
Comment 10 Maxime Porhel CLA 2014-01-27 10:51:12 EST
Validated using:
* Luna M4
* Sirius 1.0M5 (1.0.0-N20140127-060036)
Comment 11 Pierre-Charles David CLA 2014-01-31 05:38:06 EST
Available in Sirius 1.0.0M5, see https://wiki.eclipse.org/Sirius/1.0.0M5 for availability details.