This document contains the release notes for all releases of Sirius.
Version 0.9.0 is the first release under the Sirius name and under the Eclipse Foundation umbrella. Except for the few cases mentioned below (in the «Other API Changes», «Specifier-Visible Changes» and «User-Visible Changes» sections), Sirius 0.9.0 is functionally equivalent to the latest version of Viewpoint (version 6.10), which was the name of the project before it was open sourced at Eclipse. See the rest of the documentation for the complete list of feature of the Sirius platform.
If you have existing projects which used this technology before it became Eclipse Sirius and want to migrate to Sirius, you must:
The latest version of Viewpoint which was available in an Obeo Designer release is Viewpoint 6.8, released in Obeo Designer 6.2. Sirius 0.9 is based on Viewpoint 6.10, which was not released publicly.
If you were using Obeo Designer, you must thus first migrate your projects and models to Obeo Designer 6.2, and then consult the release notes for Viewpoint 6.9 and 6.10, which lists the API changes from Viewpoint 6.8 to 6.10.
Once your projects are compatible with the latest Viewpoint available to you, you can migrate to Sirius, first by updating your Viewpoint Specification Projects and plug-ins which use the Viewpoint APIs, then by updating any Modeling Project and representation files (
*.aird
).
plugin.xml
files to reference the correct extension points identifiers. In particular, all Viewpoint Specification Projects created using Viewpoint use the
fr.obeo.dsl.viewpoint.componentization
in their
plugin.xml
to register the VSMs they define. This should be changed to use the equivalent
org.eclipse.sirius.componentization
extension point id. The identifier changes for the other extension points follow the same rules as the name changes of the plug-ins they are defined in.
*.odesign
files) is automatic: simply open your files once in the VSM editor, perform some no-op change to make the editor «dirty» and save it. The saved version will have been migrated to Sirius.
ViewpointControlCommand
is now
SiriusControlCommand
).
Note that if you used Obeo Designer, you may have used the legacy Acceleo 2.x language for the computed expressions inside the
*.odesign
files (if your expressions are of the form
<%something%>
then you used the legacy language). That language is not supported anymore in Sirius 0.9, so you must migrate your expressions to use Acceleo 3 and/or the specialized interpreters (
var:
,
feature:
and
service:
, see the documentation).
*.aird
) is performed automatically when they are loaded in memory. It will become permanent the first time you save it (you can force this by opening a representation, making some arbitrary change and saving the session).
As of Sirius 0.9, and probably at least until Sirius 1.0 when the APIs will be more stable, all the bundles share the same version, which is also the version for the feature. If you used versioned dependencies to the old Viewpoint code (e.g. dependencies towards Viewpoint 6.8), you need to adjust the versions in your
MANIFEST.MF
files in addition to the namespaces.
In the context of the move as an official Eclipse project named Sirius, all the namespaces used in the code have changed.
All identifiers have changed to start with the
org.eclipse.sirius
namespace prefix. The tables below give the mapping between the Viewpoint plug-in and features identifiers and their Sirius equivalent.
Viewpoint 6.x plug-in | Sirius 0.9 plug-in |
---|---|
fr.obeo.dsl.common | org.eclipse.sirius.common |
fr.obeo.dsl.common.acceleo.mtl | org.eclipse.sirius.common.acceleo.mtl |
fr.obeo.dsl.common.acceleo.mtl.ide | org.eclipse.sirius.common.acceleo.mtl.ide |
fr.obeo.dsl.common.ocl | org.eclipse.sirius.common.ocl |
fr.obeo.dsl.common.ui | org.eclipse.sirius.common.ui |
fr.obeo.dsl.common.xtext | org.eclipse.sirius.common.xtext |
fr.obeo.dsl.viewpoint | org.eclipse.sirius |
fr.obeo.dsl.viewpoint.diagram | org.eclipse.sirius.diagram |
fr.obeo.dsl.viewpoint.diagram.layoutdata | org.eclipse.sirius.layoutdata |
fr.obeo.dsl.viewpoint.diagram.sequence | org.eclipse.sirius.sequence |
fr.obeo.dsl.viewpoint.diagram.sequence.edit | org.eclipse.sirius.sequence.edit |
fr.obeo.dsl.viewpoint.diagram.sequence.ui | org.eclipse.sirius.sequence.edit.ui |
fr.obeo.dsl.viewpoint.doc | org.eclipse.sirius.doc |
fr.obeo.dsl.viewpoint.editor | org.eclipse.sirius.editor |
fr.obeo.dsl.viewpoint.editor.sequence | org.eclipse.sirius.editor.sequence |
fr.obeo.dsl.viewpoint.editor.table | org.eclipse.sirius.editor.table |
fr.obeo.dsl.viewpoint.editor.tree | org.eclipse.sirius.editor.tree |
fr.obeo.dsl.viewpoint.eef.adapters | org.eclipse.sirius.eef.adapters |
fr.obeo.dsl.viewpoint.interpreter | org.eclipse.sirius.interpreter |
fr.obeo.dsl.viewpoint.table | org.eclipse.sirius.table |
fr.obeo.dsl.viewpoint.table.ui | org.eclipse.sirius.table.ui |
fr.obeo.dsl.viewpoint.tree | org.eclipse.sirius.tree |
fr.obeo.dsl.viewpoint.tree.ui | org.eclipse.sirius.tree.ui |
fr.obeo.dsl.viewpoint.ui | org.eclipse.sirius.ui |
fr.obeo.mda.ecore.extender | org.eclipse.sirius.ecore.extender |
fr.obeo.mda.pim.ecore.design | org.eclipse.sirius.sample.ecore.design |
org.eclipselab.emf.synchronizer | org.eclipse.sirius.synchronizer |
Viewpoint 6.x feature | Sirius 0.9 feature |
---|---|
fr.obeo.dsl.viewpoint.runtime | org.eclipse.sirius.runtime |
fr.obeo.dsl.viewpoint.runtime.acceleo | org.eclipse.sirius.runtime.acceleo |
fr.obeo.dsl.viewpoint.runtime.ide.eef | org.eclipse.sirius.runtime.ide.eef |
fr.obeo.dsl.viewpoint.runtime.ide.ui | org.eclipse.sirius.runtime.ide.ui |
fr.obeo.dsl.viewpoint.runtime.ide.ui.acceleo | org.eclipse.sirius.runtime.ide.ui.acceleo |
fr.obeo.dsl.viewpoint.runtime.ide.xtext | org.eclipse.sirius.runtime.ide.xtext |
fr.obeo.dsl.viewpoint.runtime.ocl | org.eclipse.sirius.runtime.ocl |
fr.obeo.dsl.viewpoint.specifier.ide.ui | org.eclipse.sirius.specifier.ide.ui |
fr.obeo.dsl.viewpoint.specifier.ide.ui.acceleo | org.eclipse.sirius.specifier.ide.ui.acceleo |
fr.obeo.dsl.viewpoint.doc.feature | org.eclipse.sirius.doc.feature |
The Java package names have changed to start with the identifier of the plug-in they are defined in (which has changed). A simple «Source > Organize Imports» on your source folders should find most classes you used in their new namespace.
The Viewpoint code base and APIs used the term «Viewpoint» both for the name of the product and for the name of the concept. When it refered to the name of the product, the names where changed to use «Sirius» instead (for example,
ViewpointControlCommand
is now
SiriusControlCommand
).
All namespace URIs have also been changed from «http://www.obeo.fr/dsl/viewpoint*» to «http://www.eclipse.org/sirius/».
If you have created VSM file (.odesign) or representations file (.aird) with Viewpoint, the changes of the namespace URIs will be automatically migrated during the loading of your VSM or your representations file. These new nsURIs will be stored physically in the file during the first save. If the file is not saved, the automatic migration will be replayed at the next opening.
The modeling project has a specific nature (
org.eclipse.sirius.nature.modelingproject
).
If you have modeling project created with Viewpoint, you must launch the action «Configure/Convert to Modeling Project» to replace old nature id (
fr.obeo.dsl.viewpoint.nature.modelingproject
) by the new one.
If you have many modeling projects to «migrate», you can easily make a script to replace
fr.obeo.dsl.viewpoint.nature.modelingproject
by
org.eclipse.sirius.nature.modelingproject
in all
.project
file of each modeling projects.
This section only lists API changes in Sirius 0.9.0 compared to the latest version of Viewpoint it is based on, i.e. Viewpoint 6.10.
IMigrationParticipant.getPackage()
to return the EPackage to use for the given namespace. This change concerns our internal migration framework. This is useful to handle our namespace changes (from Viewpoint to Sirius).
org.eclipse.sirius.common.tools.api.interpreter.IAcceleoInterpreterVariables
: This interface only defined a single constant, which refered to the syntax of an obsolete version of the Acceleo language.
org.eclipse.sirius.common.tools.api.resource.IFileContributorExtension
: This interface only defined a few constants relative to an extension point which does not exist anymore.
org.eclipse.sirius.reconciler
extension point definition (which used to be defined in the
org.eclipse.sirius
plug-in): This extension point is not supported anymore (and has not been for a long time).
Session
and replaced the internal calls with the equivalent versions with
IProgressMonitors
. The removed methods are:
void open(); void addSemanticResource(Resource newResource, boolean addCrossReferencedResources); void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources); void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources, IProgressMonitor monitor); void removeSemanticResource(Resource resource, boolean removeCrossReferencedResources); void removeSemanticResource(Resource semanticResource); void save(); void close(); Collection<Viewpoint> getSelectedViewpoints(); void createView(Viewpoint viewpoint, Collection<EObject> semantics); void createView(Viewpoint viewpoint, Collection<EObject> semantics, boolean createNewRepresentations); void addSelectedView(DView view) throws IllegalArgumentException; void removeSelectedView(DView view);
New variables are available for
sizeComputationExpression
to compute the size of edges on
EdgeStyleDescription
and
BracketEdgeStyleDescription
:
DDiagram
DEdge