JEP 162: Prepare for Modularization

OwnerAlan Bateman
Created2012/08/31 20:00
Updated2014/07/10 20:43
TypeFeature
StatusCompleted
ScopeSE
JSRs173 MR, 206 MR, 337
Discussionjigsaw dash dev at openjdk dot java dot net
EffortM
DurationM
Priority4
Endorsed byMark Reinhold
Release8
Issue8046152
BlocksJEP 179: Document JDK API Support and Stability
Relates to8003562: Provide a command-line tool to find static dependencies
7192274: Deprecate LogManager addPropertyChangeListener and removePropertyChangeListener methods
7190273: Deprecate com.sun.security.auth.callback.DialogCallbackHandler
7193339: Prepare system classes be defined by a non-null module loader
8000362: (pack200) Deprecate Packer/Unpacker addPropertyChangeLister and removePropertyChangeListener methods
7169894: JAXP Plugability Layer: using service loader

Summary

Undertake changes to smooth the eventual transition to modules in a future release, provide new tools to help developers prepare for the modular platform, and deprecate certain APIs that are a significant impediment to modularization.

Non-Goals

It is not a goal of this effort to integrate code for the module system, developed in Project Jigsaw, into JDK 8.

Description

In light of the deferral of Project Jigsaw to a later release, this JEP proposes the following changes:

Testing

Changing existing APIs to use java.util.ServiceLoader will likely require the development of new tests.

New command-line tools or runtime options will require new tests.

If a standard PrincipalComparator API is defined then this will require new conformance and unit tests.

Risks and Assumptions

There is a small risk that changing the implementation, to fix assumptions related to class loading for example, may cause side effects. As with all bugs and features then we assume that extensive testing of JDK 8 will uncover such issues.

Impact