F21 System Wide Change: Java 8
Jaroslav Reznik
jreznik at redhat.com
Fri Mar 21 12:11:44 UTC 2014
= Proposed System Wide Change: Java 8 =
https://fedoraproject.org/wiki/Changes/Java8
Change owner(s): Omair Majid <omajid at redhat.com>
Make Java 8 (provided by OpenJDK 8 which is java-1.8.0-openjdk) the default
Java runtime. The current default Java runtime (Java 7, provided by OpenJDK 7,
java-1.7.0-openjdk) will be obsoleted and removed.
This is essentially an upgrade to the latest Java and OpenJDK version.
== Detailed Description ==
The current default Java 7 runtime in Fedora is OpenJDK 7. The latest version
of OpenJDK, 8, was released on 18 March 2014. Given that Fedora 21 will not be
released before August, it makes sense to include the latest version of
OpenJDK in Fedora 21.
OpenJDK 8 is a significant update to Java. It brings in significant new features
to the Java language, including lambdas, a new javascript engine and lots of
new library features. A complete list of features is available [1].
OpenJDK 8 is a backwards compatible update. Theoretically everything that
worked against OpenJDK 7 should continue working against OpenJDK 8. There are
a few exceptions:
OpenJDK8 is much more strict when it comes to building javadocs. Many -
javadoc package in Fedora fail to build. Those that are built should continue
working just fine.
Packages that rely on non-public OpenJDK API may fail to build/run.
A complete list of incompatibilities is available [2]. The incompatibilities
are source and behavioral only.
It may be a good idea to mass rebuild Java packages against OpenJDK 8 to spot
any source incompatibilities earlier. This is not required.
== Scope ==
* Proposal owners:
** Deprecate/Obsolete java-1.7.0-openjdk
** Promote java-1.8.0-openjdk to a full java runtime status (fix provides in
package)
** In case of a mass rebuild, supply/apply patches to fix build against OpenJDK
8
* Other developers:
** icedtea-web maintainers will need to update icedtea-web to run against
OpenJDK 8
** Other java packagers will need to apply patches to their java package to
ensure they can build against OpenJDK 8
** Everyone will need to test packages to verify that they work against
OpenJDK 8
* Release engineering:
** Remove java-1.7.0-openjdk
** Possibly mass-rebuild (?) all Java packages. This is not strictly required
to make OpenJDK 8 the default Java runtime.
* Policies and guidelines:
** Many -javadoc packages fail to build. The OpenJDK 8 maintainers and the
Java SIG are working on identifying a solution. The solution may require [3]
guideline changes making -javadoc subpackages optional.
[1] http://openjdk.java.net/projects/jdk8/features
[2] http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html
[3] https://lists.fedoraproject.org/pipermail/devel/2014-March/196808.html
More information about the devel-announce
mailing list