Spoofax 1.4.0 (06-03-2015)¶
We’re happy to announce the release of Spoofax 1.4.0, a minor release with SDF3 fixes and improvements to language plugins.
Changes¶
SDF3¶
- Fix: Supporting Windows line endings in SDF3.
- Fix: Providing warnings for literals that could be placeholders.
Contributors: Eduardo Amorim
Language plugins¶
Reduced download size of deployed plugins¶
Previously, when creating an Eclipse update site for your language (see tutorial), the result was a ~90MB download that included meta-tools such as SDF3 and NaBL. We brought the download size down to ~60MB by removing dependencies to some of the meta-tools, since end-users of deployed languages don’t need them. In the future, we plan to bring the size further down by removing more dependencies.
Contributors: Oskar van Rest
Setting Java VM options for your language¶
For Spoofax and Spoofax-based languages to run smoothly, it is recommended to set Java’s -server
flag and to increase the stack size and memory allocation pool:
-Xss<size>
specifies the thread stack size-Xmx<size>
specifies the maximum size, in bytes, of the memory allocation pool.-server
selects server application runtime optimizations.
The server VM will take longer to start and “warm up” but will be more aggressively optimized. The -server
option only affects 32-bit VMs and has influence on 64-bit VMs because these always use server optimizations. These options can be configured in eclipse.ini
as described on the download page. The recommended settings for Spoofax are -server -Xss8m -Xmx1024m
and a warning will pop-up if Eclipse is started with settings that are too low.
Previously, the same settings were assumed for deployed plugins and were enforced by a similar pup-up warning. With Spoofax 1.4.0, language developers can choose their own Java VM settings, which are then recommended to end-users of their language. This can be configured in editor/yourlang.main.esv
. The syntax is as follows:
jvm opts: [-server | -X[ss|mx]<size>[g|G|m|M|k|K]]+
For example: jvm opts: -server -Xss8m -Xmx1024m
. If multiple Spoofax-based languages are installed, the configuration warning will tell how eclipse.ini
needs to be updated such that the requirements of all languages are satisfied.
Contributors: Oskar van Rest
Downloads¶
Eclipse plugin update site¶
The latest stable version of the Spoofax Eclipse plugin is always published to the stable
update site: http://download.spoofax.org/update/stable
. See the getting started guide for instructions on how to get started with Spoofax.
This specific release is also published to the release/1.4.0
update site: http://download.spoofax.org/update/release/1.4.0
.
Sunshine JAR¶
The Sunshine JAR file corresponding with this release can be downloaded here. See the Sunshine documentation for more information on using Sunshine.
Maven artifacts¶
Maven artifacts can be found on our artifact server. The Maven version used for this release is 1.4.0
. See the instructions on using MetaBorg Maven artifacts for more information.