Features/Java8TechPreview

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Scope: Clarify that one new package will be added and existing packages will not be modified)
 
(5 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
== Owner ==
 
== Owner ==
 
<!--This should link to your home wiki page so we know who you are-->
 
<!--This should link to your home wiki page so we know who you are-->
* Name: [[User:Dbhole| Deepak Bhole]]
+
* Name: [[User:Omajid | Omair Majid]]
  
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* email: dbhole at redhat dot com
+
* email: omajid at redhat dot com
  
 
== Current status ==
 
== Current status ==
  
 
* Targeted release: [[Releases/19 | Fedora 19]]  
 
* Targeted release: [[Releases/19 | Fedora 19]]  
* Last Updated: 2013-01-17
+
* Last Updated: 2013-05-13
* Percentage of completion: 0%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 22: Line 22:
 
The current Java implementation in Fedora comes from OpenJDK.  
 
The current Java implementation in Fedora comes from OpenJDK.  
  
Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates.
+
Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates. This preview will be an in-development version of Java 8. It will contain new Java 8 APIs, but they will not be stable (and will be subject to change) until the official Java 8 release.
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==

Latest revision as of 17:59, 13 May 2013

Contents

[edit] Java 8

[edit] Summary

Add a tech preview preview of the the upcoming version of Java (OpenJDK8) to Fedora 19

[edit] Owner

  • email: omajid at redhat dot com

[edit] Current status

  • Targeted release: Fedora 19
  • Last Updated: 2013-05-13
  • Percentage of completion: 100%

[edit] Detailed Description

The current Java implementation in Fedora comes from OpenJDK.

Java 8 (and OpenJDK8) are tentatively scheduled for release in September 2013. Fedora 19 will most likely be out just a few months before that, and is therefore positioned to receive a tech preview version of the latest OpenJDK8 candidates. This preview will be an in-development version of Java 8. It will contain new Java 8 APIs, but they will not be stable (and will be subject to change) until the official Java 8 release.

[edit] Benefit to Fedora

Fedora users will have access to all the new language and feature enhancements provided by Java 8. Additionally, developers can start developing applications early on for Java 8.

[edit] Scope

The current development version of OpenJDK 8 will be packaged and added to Fedora. It will be a stand alone package and will not impact existing OpenJDK 7 packages.

Since this will be a tech preview, the primary JDK in Fedora 19 will continue to be OpenJDK7. OpenJDK8 is not expected to be the primary Java until Fedora 20 at least.

Two problems would generally be expected with a major JDK update based on past experience:

  • FTFBS failures due to packages having a hard-coded JDK version dependency.
    • This was dealt with when OpenJDK7 was introduced over Fedora 16 and Fedora 17. Now all Java dependent packages should require java >= 1.6.0, and therefore this issue will not be a problem any more.
  • There may be packages that rely on API that is deprecated in Java 8
    • Such packages cannot be identified until we actually start to build with Java 8. Since Java 7 will continue to remain the primary version of Java in Fedora 19, any API deprecation issues will be a secondary problem as the main JVM will continue to be able to run everything correctly. We expect to have everything resolved well before Java 8 is to become the primary Java version in Fedora (F20 or later).

[edit] How To Test

  • Install java-1.8.0-openjdk
  • Run (as root) 'alternatives --config java' and select the 1.8 version
  • Run 'java -version' to ensure that it is correct

[edit] User Experience

By default, users and developers will have access to all of the new features that version 8 of the language provides.

[edit] Dependencies

No new dependencies are expected for java-1.8.0-openjdk. This part will be updated if the situation changes.

[edit] Contingency Plan

Java 8 will be a tech preview. The primary version of Java will continue to be Java 7 as it is now, and therefore no contingency is needed.

[edit] Documentation

New features in OpenJDK8 are listed on [1].

[edit] Release Notes

This release of Fedora includes a technological preview of Java 8, offered through the java-1.8.0-openjdk and java-1.8.0-openjdk-devel packages.

Java 7 continues to remain the default JDK for this release. The inclusion of Java 8/OpenJDK8 will allow developers to develop and test their applications for the next version of Java in parallel while everyone can continue using the stable Java 7 for daily use.

[edit] Comments and Discussion