Transition Graal to Java 8
Doug Simon
doug.simon at oracle.com
Wed Mar 26 22:53:07 UTC 2014
The changeset[1] has just gone through that transitions the non-pure-Truffle projects in the Graal repository to Java 1.8.
The recommended steps for transitioning a local workspace are:
1. Ensure Eclipse is running on a 1.8 VM by editing eclipse.ini in the Eclipse installation directory (Eclipse.app/Contents/MacOS/eclipse.ini on Mac) to include these lines:
-vm
/path/to/jdk1.8.0/bin/java
or on a Mac:
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/server/libjvm.dylib
2. Ensure you are using an Eclipse that has 1.8 support. This is one of the following:
- Luna (4.4), version I20140318-0830 or later
- Kepler (4.3.2) with the patch at http://download.eclipse.org/eclipse/updates/4.3-P-builds installed.
Only select "Eclipse JDT (Java Development Tools) Patch with Java 8 support (for Kepler SR2)” unless
you already have PDE installed.
3. Configure the JavaSE-1.7 and JavaSE-1.8 Execution Environments appropriately in Eclipse (Preferences -> Java -> Installed JREs -> Execution Environments)
4. If you want to build with ECJ, then download it[2] to mx/ecj.jar
5. Update mx/env so that JAVA_HOME points to the 1.8 JDK and add a property EXTRA_JAVA_HOMES to point to a 1.7 JDK.
For example:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
EXTRA_JAVA_HOMES=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
6. Do a complete clean (just to be sure):
mx clean
mx ideclean
mx eclipseinit
6. Remove and re-add all projects in Eclipse.
Note that it is not yet quite open season on using Java 8 language features as Checkstyle does not yet support Java 8. In all likelihood we will replace Checkstyle with error-prone[3]. Either way, Checkstyle will be pulled out soon which removes the last road block to adopting all of Java 8.
-Doug
[1] http://hg.openjdk.java.net/graal/graal/rev/a6c1c3eb20c4
[2] http://download.eclipse.org/eclipse/downloads/drops4/P20140317-1600/download.php?dropFile=ecj-P20140317-1600.jar
[3] https://code.google.com/p/error-prone/
More information about the graal-dev
mailing list