Skip to main content
Jump to: navigation, search

PDE/API Tools/Java8

API Tools
Mailing ListForumsIRCmattermost
OpenHelp WantedBug Day
Browse Source

This page summarizes all the work that must be done to add Java™ 8 support to API Tools.

Current Status at a Glance

Java 8 features
Default Methods Lambda Expressions Type Annotations Method References Update to ASM 5.x

   Completely tested

Partially tested or "requires more testing"

Not tested yet

Current Status

The root bug for tracking all Java 8 work in API tools is bug 410447 So far there are 4 nodes that we need to support in usage and tag scanning:

  • IntersectionType
  • LambdaExpression
  • PackageQualifiedType
  • ExtraDimension

We have to update ASM to a 5.x version to have the delta comparator work. This is covered in bug 390930

How to Test 4.3

  1. Get the API tools source from the PDE UI git repo.
  2. Follow the instructions on testing the Java™ 8 support on the JDT Core wiki page.

Java 8 syntax cheatsheet

How to Test 4.4

  1. Use a 4.4 Eclipse build with the default target platform
  2. Get the latest API tools source from the PDE UI git repo switch to the BETA_JAVA8_LUNA branch.
  3. Get the org.eclipse.jdt.core project from the JDT Core git repo and checkout the BETA_JAVA8 branch.
    1. Also get org.eclipse.jdt.core.tests.builder and org.eclipse.jdt.core.tests.compiler to run API Tools tests
  4. Get the org.eclipse.jdt.ui project from the JDT UI git repo and checkout the BETA_JAVA8 branch.
  5. Get the org.eclipse.jdt.debug and org.eclipse.jdt.debug.ui projects from the JDT Debug git repo and checkout the BETA_JAVA8 branch.
    1. Errors from unchecked casts can be ignored
  6. Either set up a 4.3 baseline or turn off error for missing baseline on API Baselines pref page
  7. Either install EE descriptions or turn off errors for them on API Errors/Warnings pref page and project property settings
  8. Turn off API Tools errors on JDT UI via preference or property page

At this point you should have a compiling workspace with no errors (except possibly generics issues in jdt debug). Launch a target workbench to test on. In the target workbench do the following:

  1. Add a Java 8 JRE to the list of installed JREs
  2. Create a new plug-in project with a Java 1.8 Execution Environment and API Tools enabled

Depending on the state of the branch you will get an error on the project saying Java 8 bytecodes are not supported.

Back to the top