Cédric Brun bio photo

Cédric Brun

Building kick-ass products in Eclipse and on Eclipse.

Email Twitter Google+ Github

The teams have been working hard and pushed many changes. I’ve been tweeting those as they went but I figured that compiling a list into a blogpost could be useful. Here are some noteworthy, this is not an exhaustive list and please if you think I missed something, reach to me on the mattermost instance before M7.

Modeling Amalgam

Thales contributed in Amalgam the building blocks to create views similar to those used in Capella. Activity Explorer Contextual Explorer

The features are now part of the Neon update site and can be consumed by other projects, starting by EcoreTools.

You’ll find some documentation on the wiki here and there, Capella’s source code is also a good starting point.

Platform/SWT

Many and important improvements in Linux/GTK3 support, notably Issue in layout of editors (“leaking” rulers).

SWT now auto-detects the scaling factor which might be needed on HiDPI screens but the linux support is not perfect and it looks like GTK is giving a hard time to the commiters here again, in the meantime if you get this result when starting Eclipse : then add -Dswt.enable.autoScale=false after -vmargsin your eclipse.ini to disable this automatic scaling.

Packaging

The modeling package is now using the brand new Solstice Theme for the welcome page. It is now explicitely focused on the package domain and it looks slicker, see:

We also moved away from the “we fix every single version of the tools in the package” to using root features. The outcome of this is that it is now possible for an end-user to upgrade parts of the package without having to wait for a full Eclipse release. Another effect of this change is that you can not update a pre-M6 EPP package to M6. You must download a fresh version. The potential downside is that the user could end-up with an installation which is mixing different streams or which is quite unexpected for us, packagers. See bug 332989 for more details.

Sirius 4.0.0M6

  • The Sirius runtime is no longer depending on the JDT.
  • Closing a modeling project is now way faster. We went from 20s to 0.6s closing a project with 1 million of model elements. The strategy to dispose a Resource instance is no longer relying on resource.unload() which was eating a lot of time and was completely useless 99% of the time. Problem was the last 1% which relied on some events being sent to clear static caches (I’m looking at you UML). The Sirius team designed a strategy which should meet the requirements of 100% of the resource implementations we know of, and as it is better to be safe than sorry a specific strategy can be contributed for the other % we don’t know of yet ;)
  • The Acceleo Query Language has had a good number of updates notably API-wise, leading to a 5.0.0 version for the corresponding packages. Make sure you ranges are now including this version.
  • SVG rendering has been improved and is now correct whatever the zoom level.
  • Before .
  • Now
  • if you install Sirius in the package to define your own modeling tool (only the runtime is pre-installed in the package), you’ll see that it is now possible to constrain on which side of a shape a bordered node (port) might be. This improvement had many supporters, just look at the number of +1 comments. Now it’s your job to give it a try and tell us if that fits your use case!

Ecore Diagram Editor

  • All the goodness from the Sirius 4.0.0M6 runtime (including SVG improvements)
  • EcoreTools can now display EReferences which are listed within the EClass.

EMF Compare

An integration with Sirius to bring graphical comparison is now available through the EMF Compare update site.

Installing the diagram comparison support

This feature bring experimental support for graphical comparison of any Sirius based modeler, in particular EcoreTools which is in the package. Note that you have to install the Egit support feature to use to be able to compare versions through the git history.

Ecore diagram comparison
Family DSL diagram comparison

Bugfixes and other improvements

That’s just the tip of the iceberg, many other changes in technologies included in the package are published with M6, thanks to everyone involved !

Now would be a good time for testing. Download the package, give it a try, report back either using the modeling channel or through bugzilla.

Stay tuned!