Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "JDT Core/Java8"
Line 2: | Line 2: | ||
= Eclipse Support for Java 8 - Release Schedule = | = Eclipse Support for Java 8 - Release Schedule = | ||
− | * | + | * Feb 1st 2014 : Early Access Release III ('''Available''' - See below for install instructions) |
** What is new in this release ? | ** What is new in this release ? | ||
− | *** | + | *** Full support for Java 8 type inference specification. |
− | *** | + | *** Lambda Serialization support. |
− | + | *** Numerous defect fixes. | |
− | + | ||
− | + | ||
− | + | ||
− | *** Numerous | + | |
− | + | * Feb 21st 2014: Early Access Release IV: '''Release candidate 1''' | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * Feb | + | |
** Bug fixes | ** Bug fixes | ||
** Selected polish items | ** Selected polish items | ||
Line 29: | Line 15: | ||
** '''Project enters change control'''. | ** '''Project enters change control'''. | ||
− | * | + | * March 7th 2014 : '''Release candidate 2''' |
+ | ** Bug fixes | ||
− | * March 18th: '''General availability release'''. | + | * March 18th 2014: '''General availability release'''. |
Line 38: | Line 25: | ||
* Default & static methods in interfaces | * Default & static methods in interfaces | ||
* Support for lambda expressions and method/constructor references is substantially in place except in the areas of type inference, lambda serialization and varargs. | * Support for lambda expressions and method/constructor references is substantially in place except in the areas of type inference, lambda serialization and varargs. | ||
+ | * Support for Java 8 type inference specification. | ||
* Quick assist support for migrating anonymous classes to lambda expressions and vice versa. | * Quick assist support for migrating anonymous classes to lambda expressions and vice versa. | ||
* Meta data enhancement specification: | * Meta data enhancement specification: | ||
Line 46: | Line 34: | ||
* Basic IDE enablement for all of Java 8 | * Basic IDE enablement for all of Java 8 | ||
* AST/APIs for all of Java 8 | * AST/APIs for all of Java 8 | ||
+ | * Serializable lambda support | ||
* JSR308 type annotations based null analysis (substantially complete - some open issues exist) | * JSR308 type annotations based null analysis (substantially complete - some open issues exist) | ||
* UI: Basic infrastructure like the Java-related views, Java Compiler compliance settings, Organize Imports, Mark Occurrences, Open Declaration (F3), Edit > Expand Selection To > ..., Content Assist (Ctrl+Space), Formatting, and Source Actions should work correctly in most situations when you start using them with Java 8 constructs. | * UI: Basic infrastructure like the Java-related views, Java Compiler compliance settings, Organize Imports, Mark Occurrences, Open Declaration (F3), Edit > Expand Selection To > ..., Content Assist (Ctrl+Space), Formatting, and Source Actions should work correctly in most situations when you start using them with Java 8 constructs. | ||
Line 55: | Line 44: | ||
JDT UI changes (stale - needs refresh) are tracked in [[JDT UI/Java8]] | JDT UI changes (stale - needs refresh) are tracked in [[JDT UI/Java8]] | ||
− | * | + | * As of Early Access Release III, JDT/Core is feature complete for Java 8. We are in test and fix mode. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
= How to report defects ? = | = How to report defects ? = |
Revision as of 21:54, 31 January 2014
This page summarizes the work that is being done to add Java™ 8 support into Eclipse.
Contents
Eclipse Support for Java 8 - Release Schedule
- Feb 1st 2014 : Early Access Release III (Available - See below for install instructions)
- What is new in this release ?
- Full support for Java 8 type inference specification.
- Lambda Serialization support.
- Numerous defect fixes.
- What is new in this release ?
- Feb 21st 2014: Early Access Release IV: Release candidate 1
- Bug fixes
- Selected polish items
- Usability improvements
- Documentation updates.
- Project enters change control.
- March 7th 2014 : Release candidate 2
- Bug fixes
- March 18th 2014: General availability release.
Java 8 features ready to be tested (save for some very minor defects)
- JSR 308 - Type Annotations
- Default & static methods in interfaces
- Support for lambda expressions and method/constructor references is substantially in place except in the areas of type inference, lambda serialization and varargs.
- Support for Java 8 type inference specification.
- Quick assist support for migrating anonymous classes to lambda expressions and vice versa.
- Meta data enhancement specification:
- JEP120: Repeating annotations
- JEP118: Runtime access to parameter names
- JSR269 Enhancements for Pluggable Annotation Processor API and javax.lang.model APIs
- Formatter, code completion, code navigation, search & indexing, reconciler, incremental builder support for all of Java 8
- Basic IDE enablement for all of Java 8
- AST/APIs for all of Java 8
- Serializable lambda support
- JSR308 type annotations based null analysis (substantially complete - some open issues exist)
- UI: Basic infrastructure like the Java-related views, Java Compiler compliance settings, Organize Imports, Mark Occurrences, Open Declaration (F3), Edit > Expand Selection To > ..., Content Assist (Ctrl+Space), Formatting, and Source Actions should work correctly in most situations when you start using them with Java 8 constructs.
What work is pending ?
Note: Updates are filed in the top level bug [380190 - Add support for Java SE 8] JDT UI changes (stale - needs refresh) are tracked in JDT UI/Java8
- As of Early Access Release III, JDT/Core is feature complete for Java 8. We are in test and fix mode.
How to report defects ?
We welcome defect reports in all areas, including areas acknowledged to be incomplete and not ready to be tested.
File defect reports [here].
Open work items can be perused [here].
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 compile org.eclipse.jdt.annotation and run the tests using the JavaSE-1.8 Execution Environment.
- Use the exact name "JavaSE-1.8" for the JRE
- Checkout the BETA_JAVA8 branch of the following git repositories:
- JDT Core repository - git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git
- JDT UI repository - git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git
- JDT Debug repository - git://git.eclipse.org/gitroot/jdt/eclipse.jdt.debug.git
- Equinox OSGi repository: git://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git
- For tests:
- Releng repository - git://git.eclipse.org/gitroot/platform/eclipse.platform.releng.git
- Text repository - git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git
- For more information on how to work with git repositories, look at http://wiki.eclipse.org/Platform-releng/Git_Workflows .
- Set R4.3.1 as Target Platform.
- Set R4.3.1 as 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 / Java 8.
Early access binaries
Please see JDT/Eclipse Java 8 Support (BETA) for details.
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. Please use the early access builds only in a test/evaluation mode and not in the real development environment. If you need any help with this, please contact the JDT/Core team through either the forum or Bugzilla.