Jump to: navigation, search

Difference between revisions of "JDT Core/Java8"

(What to do to set up the IDE)
(What to do to set up the IDE)
Line 187: Line 187:
 
*For more information on how to work with git repositories, look at http://wiki.eclipse.org/Platform-releng/Git_Workflows .
 
*For more information on how to work with git repositories, look at http://wiki.eclipse.org/Platform-releng/Git_Workflows .
  
*As [[Version_Numbering#API_Baseline_in_API_Tools|API Baseline]], use 3.9.1.
+
*Set R3.9 as Target Platform.
 +
*Use R3.9 as [[Version_Numbering#API_Baseline_in_API_Tools|API Baseline]].
  
* If you are going to be running Ant builds (stand-alone or as project builders) using the 1.8 javac target, you should read the following wiki: [[Ant/Java8 | Ant / Java 8]]
+
* If you are going to be running Ant builds (stand-alone or as project builders) using the 1.8 javac target, you should read the following wiki: [[Ant/Java8 | Ant / Java 8]].
 
<br>
 
<br>
  

Revision as of 02:44, 13 September 2013

This page summarizes the work that is being done to add Java™ 8 support into Eclipse. As of now JSR 335 (Lambda expressions) and JSR 308 (Type annotations) are being planned

Java 8 features that are being worked on


What needs to be done

  • TO BE FILLED


Current status

Updates are filed in the top level bug [380190 - Add support for Java SE 8]

JDT UI changes are tracked in JDT UI/Java8


Java 8 features
Lambda Expressions Method references Default Methods Type Annotations / Receiver parameter Overload resolution Type Inference
Grammar / Parser (1) (1) (1) (1) NA NA
Compiler (1) (1) (1) (1)
Reconciler (1) (1) (1) (1) NA NA
Error recovery NA NA
Java Model (Jay) under investigation under investigation under investigation no changes needed atm NA NA
DOM / AST (1) (1) (1) (1) NA NA
AST Rewrite (1) (1) (1) (1) NA NA
Class file generation July-Aug (Srikanth) July-Aug (Srikanth) (1) In progress (Andrew) NA NA
Formatter (1) (1) (1) (1) NA NA
Indexer (Manoj) July-Aug-Sep July-Aug-Sep July-Aug-Sep July-Aug-Sep NA NA
Search (manoj) July-Aug-Sep July-Aug-Sep July-Aug-Sep July-Aug-Sep NA NA
Code select (Anirban) in progress in progress in progress in progress NA NA
Code completion (Anirban) in progress in progress in progress in progress NA NA
APT (Jay) NA NA NA in progress NA NA


   Done
   Substantially complete, with open items
   In Progress

Not Started yet
NA Not Applicable

(1) more work needed if spec changes

IMPORTANT NOTE

  • The following lines must be added in all headers of modified files for Java™ 8 implementation:
 * This is an implementation of an early-draft specification developed under the Java
 * Community Process (JCP) and is made available for testing and evaluation purposes
 * only. The code is not compatible with any specification of the JCP.
 *

  • Use the following @since tag on all newly added members: "3.9 BETA_JAVA8"


What to do to set up the IDE

  • You need to install a JDK 8 build as an installed JRE in order to run the tests using the JavaSE-1.8 Execution Environment.
  • If you are going to be running Ant builds (stand-alone or as project builders) using the 1.8 javac target, you should read the following wiki: Ant / Java 8.


Configure a project to use Java 8 features

If you have JDT UI from the BETA_JAVA8 branch, you can simply set the compliance to 1.8. Otherwise you have to manually set the following properties in <project>/.settings/org.eclipse.jdt.core.prefs:

org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.source=1.8

Disclaimer

This is a work in progress. The contents of the BETA_JAVA8 branch will be updated as the changes are made to the JSR Specification.

If you need any help with this, please contact the JDT/Core team through either the forum or Bugzilla.