To install Spoofax/IMP, all you need is a copy of Eclipse 3.5 to 4.2, preferably one that includes the plugin development environment (we recommend the "
Eclipse 3.7 classic" distribution). Spoofax runs on Windows, Linux, and Mac OS X. Editors built with Spoofax use 100% Java code and can be used on any platform that supports Eclipse.
Installation and Setup (required)
Spoofax requires
no separate binary packages or native installation, but for the development of plugins we strongly recommend you change the Eclipse configuration to better accommodate meta-programming.
Please change the
eclipse.ini
file to include the following options just after the
-vmargs argument:
-Xss8m
-Xms256m
-Xmx1024m
-XX:MaxPermSize=256m
-server
-Djava.net.preferIPv4Stack=true
This sets an 8 MB stack size and 1024 MB of virtual memory (adjust downwards for low-memory systems). The
eclipse.ini
file is located in the installation directory of Eclipse, and typically in
/Applications/eclipse/Eclipse.app/Contents/MacOS
for Mac OS X. An example of a file after the changes is provided
here.
Note that every option appears on a separate line, with no following spaces, and that the memory options appear
after the
-vmargs
option. The
-Xmx
and
-Xms
options replace corresponding options that may have been in the existing file. Setting these options ensures that Eclipse has sufficient memory to dynamically load editors and is prepared for a full meta-programming environment.
Stable releases
You can install the Spoofax language workbench using the update site mechanism of Eclipse. Go to the
Help>Software Updates menu in Eclipse. Then select "Add...", enter the site name "Spoofax", and the update site URL:
http://spoofax.org/update/stable
Now select Spoofax (you may have to reselect the update site you just entered), and follow the steps of the wizard.
Unstable releases
An unstable, but somewhat tested build can be installed from the unstable update site. The unstable build should only be used when bleeding edge features are needed.
http://spoofax.org/update/unstable
If you know what you are doing, and/or you want to help out with testing and development, the latest build can be installed from the nightly update site. These builds are untested!
http://spoofax.org/update/nightly
Incompatibilities
The Eclipse Web Toolkit Platform (WTP) conflicts with Spoofax editors that use extensions that are associated to the XML content type. The following extensions are affected: ent, dtd, mod, html, htm, xhtml, htpl, wml, shtml, shtm, xmi, xml, xsl, xslt, wsdl, xsd, exsd, xmi, xsl, xslt, xsd.
Note that the Eclipse for Java Developers distribution includes WTP, so we recommend using the "
Eclipse 3.7 classic" distribution instead.
A workaround is available for deployed plugins only. The workaround is to add a content type to the plugin.xml of your editor as follows:
<extension point="org.eclipse.core.contenttype.contentTypes">
<content-type base-type="org.eclipse.core.runtime.properties"
file-extensions="ent"
id="entlang.entfile"
name="Entlang file"
priority="normal">
</content-type>
</extension>
License
Spoofax/IMP is open source software and is licensed under the GNU Lesser General Public License (LGPL).
We keep track of all resolved issues at our
YellowGrass issue tracker. Below is an overview of released versions. We also maintain a
roadmap of past and future versions.
The Spoofax/IMP Language Workbench
2013
The Spoofax/IMP Language Workbench
2012
The Spoofax/IMP Language Workbench
2011
The Spoofax/IMP Language Workbench
2010