Jump to: navigation, search

Difference between revisions of "PDE/API Tools/Java8"

< PDE‎ | API Tools
(How to Test)
(How to Test 4.4)
 
(9 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
|+ '''Java 8 features'''  
 
|+ '''Java 8 features'''  
 
|-
 
|-
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Default Methods
+
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=427495 Default Methods]
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Lambda Expressions
+
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=427496 Lambda Expressions]
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Type Annotations
+
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=427499 Type Annotations]
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | Method References
+
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=427502 Method References]
 +
! width="200" align="center" style="background: none repeat scroll 0% 0% rgb(242, 206, 206);" | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=390930 Update to ASM 5.x]
 
|}
 
|}
  
Line 28: Line 29:
 
== Current Status ==
 
== Current Status ==
  
No status yyet.
+
The root bug for tracking all Java 8 work in API tools is [https://bugs.eclipse.org/bugs/show_bug.cgi?id=410447 bug 410447]
 +
So far there are 4 nodes that we need to support in usage and tag scanning:
 +
* IntersectionType
 +
* LambdaExpression
 +
* PackageQualifiedType
 +
* ExtraDimension
  
== Remaining Work ==
+
We have to update [http://forge.ow2.org/projects/asm/ ASM to a 5.x version] to have the delta comparator work. This is covered in [https://bugs.eclipse.org/bugs/show_bug.cgi?id=390930 bug 390930]
 
+
TBD
+
 
+
== How to Test ==
+
  
 +
== How to Test 4.3 ==
 
# Get the API tools source from the [http://git.eclipse.org/c/pde/eclipse.pde.ui.git/log/?h=BETA_JAVA8| PDE UI git repo].
 
# Get the API tools source from the [http://git.eclipse.org/c/pde/eclipse.pde.ui.git/log/?h=BETA_JAVA8| PDE UI git repo].
 
# Follow the instructions on testing the Java&trade; 8 support on the [[JDT_Core/Java8#What_to_do_to_set_up_the_IDE|JDT Core wiki page]].
 
# Follow the instructions on testing the Java&trade; 8 support on the [[JDT_Core/Java8#What_to_do_to_set_up_the_IDE|JDT Core wiki page]].
 +
 +
[http://www.java8.org/ Java 8 syntax cheatsheet]
 +
 +
== How to Test 4.4 ==
 +
 +
# Use a 4.4 Eclipse build with the default target platform
 +
# Get the latest API tools source from the [http://git.eclipse.org/c/pde/eclipse.pde.ui.git/log/?h=BETA_JAVA8_LUNA| PDE UI git repo] switch to the '''BETA_JAVA8_LUNA''' branch.
 +
# Get the org.eclipse.jdt.core project from the [http://git.eclipse.org/c/pde/eclipse.jdt.core.git/log/?h=BETA_JAVA8| JDT Core git repo] and checkout the '''BETA_JAVA8''' branch.
 +
#* Also get org.eclipse.jdt.core.tests.builder and org.eclipse.jdt.core.tests.compiler to run API Tools tests
 +
# Get the org.eclipse.jdt.ui project from the [http://git.eclipse.org/c/pde/eclipse.jdt.ui.git/log/?h=BETA_JAVA8| JDT UI git repo] and checkout the '''BETA_JAVA8''' branch.
 +
# Get the org.eclipse.jdt.launching project from the [http://git.eclipse.org/c/pde/eclipse.jdt.debug.git/log/?h=BETA_JAVA8| JDT Debug git repo] and checkout the '''BETA_JAVA8''' branch.
 +
#* You will have an error marker for using the wrong arguments of ILaunchConfiguration, for now ignore this
 +
# Either set up a 4.3 baseline or turn off error for missing baseline on API Baselines pref page
 +
# Either install EE descriptions or turn off errors for them on API Errors/Warnings pref page and project property settings
 +
# 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 one issue in jdt launching).  Launch a target workbench to test on.  In the target workbench do the following make sure to add a Java 8 JRE to the installed JREs.  You can now cherry pick commits onto BETA_JAVA8_LUNA and test them in the target workbench.

Latest revision as of 17:07, 4 March 2014

API Tools
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
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.
    • 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.launching project from the JDT Debug git repo and checkout the BETA_JAVA8 branch.
    • You will have an error marker for using the wrong arguments of ILaunchConfiguration, for now ignore this
  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 one issue in jdt launching). Launch a target workbench to test on. In the target workbench do the following make sure to add a Java 8 JRE to the installed JREs. You can now cherry pick commits onto BETA_JAVA8_LUNA and test them in the target workbench.