Features/Java7

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Benefit to Fedora)
(Current status)
 
(9 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
Make Java 7 (OpenJDK7) the default Java runtime and Java build tool set.
+
Make Java 7 (OpenJDK7) the default Java runtime and Java build tool set and remove Java 6 (OpenJDK6).
  
 
== Owner ==
 
== Owner ==
Line 15: Line 15:
  
 
* Targeted release: [[Releases/17 | Fedora 17]]  
 
* Targeted release: [[Releases/17 | Fedora 17]]  
* Last Updated: 2012-01-06
+
* Last Updated: 2012-03-15
* Percentage of completion: 80%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 30: Line 30:
 
== Scope ==
 
== Scope ==
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
As OpenJDK builds already exist in rawhide, the only work that remains is to change the provides such that OpenJDK6 provides "java6, jdk6, etc." so that nothing accidentally builds with 6 (thus masking potential breakage with 7).
+
OpenJDK7 builds already exist in rawhide, the only work that remains is to check packages that fail to build with OpenJDK7 due to API/similar changes are fix them. This is being tracked [[Java7_Package_Rebuild_Status|here]].
  
 
== How To Test ==
 
== How To Test ==
Line 55: Line 55:
 
== User Experience ==
 
== User Experience ==
 
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
 
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
By default, users will have access to all of the new features that version 7 of the language provides. If they want Java 6, they can install java-1.6.0-openjdk in parallel and switch the alternative.
+
By default, users will have access to all of the new features that version 7 of the language provides.
 
+
Note that the default set of packages provided by Fedora will *NOT* work with OpenJDK6 as they will have been built with OpenJDK7 which has a newer class file format. OpenJDK6 will only be supplied for cases where users are using custom/proprietary apps that do not work with OpenJDK7 yet.
+
  
 
== Dependencies ==
 
== Dependencies ==
Line 83: Line 81:
  
  
[[Category:FeatureReadyForWrangler]]
+
[[Category:FeatureAcceptedF17]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->

Latest revision as of 20:01, 15 March 2012

Contents

[edit] Java 7

[edit] Summary

Make Java 7 (OpenJDK7) the default Java runtime and Java build tool set and remove Java 6 (OpenJDK6).

[edit] Owner

  • email: dbhole at redhat dot com

[edit] Current status

  • Targeted release: Fedora 17
  • Last Updated: 2012-03-15
  • Percentage of completion: 100%

[edit] Detailed Description

OpenJDK7 has been available as a tech preview in Fedora 16 since GA.

In Fedora 16, the default JDK has been kept as OpenJDK6 due to the relative untested state of OpenJDK7 at the time. OpenJDK7 has received a fair bit of testing since in Fedora and in other distros. For Fedora 17, it should therefor be made the default.

[edit] Benefit to Fedora

Fedora users will have access to all the new language and feature enhancements provided by Java 7.

[edit] Scope

OpenJDK7 builds already exist in rawhide, the only work that remains is to check packages that fail to build with OpenJDK7 due to API/similar changes are fix them. This is being tracked here.

[edit] How To Test

  • Install Package-x-generic-16.pngjava-1.7.0-openjdk
  • Run (as root) 'alternatives --config java' and select the 1.7 version
  • Run 'java -version' to ensure that it is correct


[edit] User Experience

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

[edit] Dependencies

No new dependencies are needed for java-1.7.0-openjdk.

[edit] Contingency Plan

Everything built with Java 6 is usable with Java 7, so no contingency should be needed. For sanity, all Java packages should be built with OpenJDK7 (locally or in Koji) to ensure that there are no API discrepencies. Such discrepencies will be few and far given how compatible 7 is with 6.

[edit] Documentation

New features in OpenJDK7 are listed on [1].

[edit] Release Notes

[edit] Comments and Discussion