From Fedora Project Wiki
m (moved Features/Java7 to Features/Java7TechPreview: Java 7 is being made a tech preview for Fedora 16.)
 
(5 intermediate revisions by 3 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. -->
Technology preview of Java 7 runtime and build tools (OpenJDK7).


== 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:Dbhole| Deepak Bhole]]


<!-- 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-->
Line 19: Line 20:
== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Java 7 was released on 2011-07-28 and brings several significant changes. Fedora should supply Java 7 along-side Java 7 initially, and then only ship 7 once is it proven stable.
Oracle made available the first proprietary JDK7 release on 2011-07-28.
 
Fedora 16 will contain a technology preview of Java tools for version 7 (OpenJDK7). Though it will not be the default run-time, users will be able to use the Java 7 run-time and build tools optionally via alternatives. All packages in Fedora 16 will be built with Java 6 (OpenJDK6).


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
Fedora will remain up-to-date with regards to the Java platform. Developers using Java on Fedora will have access to new features.
Fedora users will have optional access to all the new language and feature enhancements provided by Java 7 while continuing to enjoy the benefits of the previous stable version (6).


== 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?-->
This would require building and packaging the new JRE and JDK, and updating any packages that may be incompatible with Java 7 based on this list:
Since OpenJDK6 will remain the default in Fedora 16, the only work needed is to build OpenJDK7 in a manner that it does not clobber the existing Java 6 install, and such that it will not satisfy regular Java dependencies so that Koji builds happen with OpenJDK6.
 
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html


== How To Test ==
== How To Test ==
Line 47: Line 48:
-->  
-->  


Install java-1.7.0-openjdk
* Install {{package|java-1.7.0-openjdk}}
Run (as root) 'alternatives --config java' and select the 1.7 version
* Run (as root) 'alternatives --config java' and select the 1.7 version
Run 'java -version' to ensure that it is correct
* Run 'java -version' to ensure that it is correct




== 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. -->
Changes will be present but not prominent or massive for most users. Users who install Java will see a new version of the JRE. Developers who target for the Java platform will have a new version of the JDK installed.
If users select the 1.7 java/javac alternative, they will have access to all of the new features that version 7 of the language provides.


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->


Packages involved in the JRE and JDK will need to be changed depending on if there are compatibility issues:
Since OpenJDK6 will be used for all java related builds in Fedora 16, dependencies on Java is a non-issue at this time.
 
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->


Java 6 will be kept in the repository until Java 7 is proven stable.
Java 7 will be optional and can be removed at any time if it becomes problematic. Since nothing will be built with 7, removal should not pose any problems.


== Documentation ==
== Documentation ==

Latest revision as of 18:12, 19 September 2011

Java 7

Summary

Technology preview of Java 7 runtime and build tools (OpenJDK7).

Owner

  • email: dbhole at redhat dot com

Current status

  • Targeted release: Fedora 16
  • Last Updated: 2011-08-03
  • Percentage of completion: 100%

Detailed Description

Oracle made available the first proprietary JDK7 release on 2011-07-28.

Fedora 16 will contain a technology preview of Java tools for version 7 (OpenJDK7). Though it will not be the default run-time, users will be able to use the Java 7 run-time and build tools optionally via alternatives. All packages in Fedora 16 will be built with Java 6 (OpenJDK6).

Benefit to Fedora

Fedora users will have optional access to all the new language and feature enhancements provided by Java 7 while continuing to enjoy the benefits of the previous stable version (6).

Scope

Since OpenJDK6 will remain the default in Fedora 16, the only work needed is to build OpenJDK7 in a manner that it does not clobber the existing Java 6 install, and such that it will not satisfy regular Java dependencies so that Koji builds happen with OpenJDK6.

How To Test

  • Install java-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


User Experience

If users select the 1.7 java/javac alternative, they will have access to all of the new features that version 7 of the language provides.

Dependencies

Since OpenJDK6 will be used for all java related builds in Fedora 16, dependencies on Java is a non-issue at this time.

Contingency Plan

Java 7 will be optional and can be removed at any time if it becomes problematic. Since nothing will be built with 7, removal should not pose any problems.

Documentation

Release Notes

Comments and Discussion